Looks like it’s not supported at the moment (same issue for the Rust client: Appender support for arrays (or alternative) · Issue #422 · duckdb/duckdb-rs · GitHub).
As a workaround, you can:
# flatten the df
tab1_df = DataFrame(id=1:10, vals=fill([1,2,3],10))
flat_df = flatten(tab1_df, [:vals])
# register the data frame or create the table in whatever way
DuckDB.register_data_frame(db_mem, flat_df, "flat_tab1")
# create aggregated table
DuckDB.query(
db_mem,
"CREATE OR REPLACE TABLE tab1 AS
SELECT
id,
ARRAY_AGG(vals) AS vals,
FROM flat_tab1
GROUP BY
id",
)
# trust buy verify
DuckDB.query(db_mem, "FROM tab1") |> DataFrame
Please let me know if this is helpful.
PS. If you can add the errors you’re having, it will help more people find this issue (especially in the future)