Trino Federation / Two DuckDB Marts
One SQL endpoint over two
independent warehouses
Both projects keep their own DuckDB file; nothing was
exported, merged or re-loaded. Trino holds each file as
a catalog and plans a query that spans them — the table
above is a single statement, not two results
stitched together.
The catalogs are declared as static properties files, so
adding a source is a file plus a coordinator restart, not
a pipeline change.
Two Catalogs, One Endpoint
Row counts read across both DuckDB files in a single Trino statement
Catalog
Table Name
Row Count
duckdb / analytics.duckdb
events
183
K
duckdb / analytics.duckdb
orders
928
duckdb / analytics.duckdb
users
20
K
duckdb_promo / promo.db
breakeven
6
duckdb_promo / promo.db
promo_cells
562
K
duckdb_promo / promo.db
promo_waves
9.05
K
0
20k
40k
60k
80k
Events
app_open
view_item
add_to_cart
checkout
purchase
Event
Event Mix, Catalog 1
duckdb.main.events — the ecommerce analytics mart
−4mn
−3mn
−2mn
−1mn
0
Own profit
dairy
bakery
grocery
frozen
drinks
nonfood
Category
Promo Profit by Category, Catalog 2
duckdb_promo.main.promo_waves — the retail promo mart
Data as of 00:09 UTC on 4 Nov 2026
made with
dbt Charts