This is how you can do it now:
Arrow.write("test2.arrow", Tables.table(rand(4, 2), header=[:a, :b]), metadata=meta, colmetadata=Dict(:a => metacol1, :b => metacol2))
tbl = Arrow.Table("test2.arrow")
Arrow.getmetadata(tbl)
Arrow.getmetadata(tbl.a)
But indeed we should finish Support DataAPI.jl metadata API · Issue #337 · apache/arrow-julia · GitHub for a complete support.