← Back

BigQuery + dbt (Modular ELT)

Layer dbt on BigQuery for modular ELT—incremental models, tests, docs, and scheduled runs.

bigquery-dbt-modular-elt

Overview

You’ll connect dbt to BigQuery, declare raw tables as sources, and build staged/intermediate/mart models with Jinja + configs (partitioning/clustering where needed). Key tables use incremental materialization with `merge` on a unique key or updated_at. Tests enforce data quality; `dbt docs` produces searchable documentation and lineage. Jobs run on a cadence via dbt Cloud or Composer for production-grade EL

Outcome

  • Modular SQL with sources → staging → marts using dbt.
  • Reliable quality via tests (unique/not_null/relationships).
  • Repeatable runs with incremental models + scheduler.

What you’ll build

  • A dbt project wired to BigQuery (`profiles.yml`).
  • Staging/intermediate/mart models with incremental materialization (`is_incremental`).
  • sources.yml + schema tests (unique/not_null/relationships).
  • Docs site (`dbt docs generate/serve`) and model lineage graph.
  • (Optional) snapshots for history + seeds for lookups.
  • (Optional) Composer/dbt Cloud job to schedule.