The rivet-duckdb plugin provides both a compute engine and a catalog for DuckDB. Recommended default for local analytics, fast SQL on files, and prototyping pipelines.
Native SQL read/write for DuckDB engine → DuckDB catalog
S3DuckDBAdapter
boto3
Read/write S3 via httpfs
GlueDuckDBAdapter
boto3
Read/write Glue-managed tables
UnityDuckDBAdapter
requests
Read/write Unity Catalog tables
The DuckDBLocalAdapter supports native SQL write for replace, append, and truncate_insert strategies — the fused SQL is embedded directly into the write DDL, eliminating the Arrow round-trip. See Native SQL Write Optimization for details.
fromrivet_core.modelsimportJointorder_totals=Joint(name="order_totals",joint_type="sql",upstream=["raw_orders"],sql="SELECT customer_id, SUM(amount) AS total FROM raw_orders GROUP BY customer_id",)