Skip to content

Examples

Real dbt projects materialized as Delta tables, plus runnable connection-API showcases — every one rebuilt against live Microsoft Fabric OneLake on each push to main.

dbt models materialized by duckrun as Delta tables in a Microsoft Fabric OneLake lakehouse

The DAGs below, materialized — duckrun writes each dbt model as a Delta table, here in a Microsoft Fabric OneLake lakehouse.

dbt projects

  • aemo

    The AEMO dbt project built against live Microsoft Fabric OneLake (abfss://). Full catalog with column metadata over the real Delta tables.

    source: djouallah/dbt_fabric_python_delta

  • merge_spill

    The incremental-MERGE spill benchmark (merge_spill_bench): a chain of merge / append / overwrite ops on a TPCH lineitem. Built for real on a tiny scale factor, so the catalog carries Delta stats. The heavy 60M-row spill run is a separate release gate.

    source: djouallah/duckrun

  • coffee

    The coffee-shop scenario (coffee_shop): ingest two dimension CSVs over https, dedup the SCD2 product dim, generate an N-row fact partitioned by region, and a revenue mart. Built for real on OneLake, so the catalog carries Delta stats.

    source: JosueBogran/coffeeshopdatageneratorv2

  • sde_dbt_tutorial

    The josephmachado/simple_dbt_project port: raw tables → bronze typing → a Delta-backed SCD2 snapshot of the customer dim → a merge-incremental clickstream fact → the orders_obt gold mart joined through the SCD2 validity window.

    source: josephmachado/simple_dbt_project

Pure SQL — the connection API

These are not dbt projects — they're runnable showcases of duckrun.connect(). Click through for every statement and its actual output from a live run.

  • taxi — live NYC Yellow-Taxi → Delta

    Reads live NYC TLC Yellow-Taxi data straight off https and lands it into Delta on OneLake using nothing but conn.sql(...) — QUALIFY, PIVOT, ROLLUP, ASOF JOIN, a SQL-only upsert, time travel, and a concurrent-MERGE clash.

    source: demo_taxi.py

  • multi-catalog — lakehouse + warehouse + local

    One duckrun.connect() session binding three catalogs: a writable OneLake lakehouse, a read-only Fabric Warehouse (attach(..., read_only=True)), and a local scratch dir. A single conn.sql JOINs across them as catalog.schema.table, the read-only fence refuses a warehouse write, and the mart is written back to the lakehouse.

    source: demo_multicatalog.py