Menu

Course · Distributed processing

dbt for Data Engineers

dbt turns SQL select statements into tested, documented warehouse models. Learn models, materializations, incremental models, tests, snapshots and CI.

Lessons
9
Interview questions
0
Projects & case studies
6
Reading time
~4 h

Your progress

Saved in this browser only

Course structure

Practise

Lessons

Work through the lessons in order. Completed lessons show a tick; lessons you have opened are outlined.

Start here

The complete overview of the course in one read.

  1. dbt for Data Engineers: What It Is, How a Project Works and the DAGdbt for data engineers: what dbt does and does not do, Core vs the dbt platform vs v2, project anatomy, ref and source, and the DAG, run on a real project.Beginner11 min

Beginner

Core concepts you will use every day.

  1. dbt Models, ref() and Sources: Staging, Intermediate and Marts Layersdbt models, ref() and sources explained: declare raw tables, build staging, intermediate and mart layers, name models well and use seeds for lookups.Beginner11 min
  2. dbt Materializations: View, Table, Ephemeral, Incremental and Materialized Viewdbt materializations compared: view, table, ephemeral, incremental and materialized view, with the SQL dbt runs for each and when to choose which one.Beginner8 min

Intermediate

Patterns used in production pipelines.

  1. dbt Incremental Models: Strategies, unique_key, Late Data and Microbatchdbt incremental models in practice: is_incremental(), unique_key, merge vs append vs delete+insert vs microbatch, lookback windows, schema changes and full refresh.Intermediate15 min
  2. dbt Tests and Data Quality: Generic, Singular and Unit Tests, Contracts and Freshnessdbt tests explained with real runs: generic and singular data tests, custom tests, severity and store_failures, unit tests, model contracts and source freshness.Intermediate12 min
  3. dbt Snapshots and SCD Type 2: Timestamp vs Check Strategy and Hard Deletesdbt snapshots for SCD Type 2 history: YAML snapshot config, timestamp vs check strategy, hard_deletes options, meta columns and point-in-time queries, run for real.Intermediate10 min
  4. dbt Jinja, Macros and Packages: dbt_utils, Custom Macros and When Not to Templatedbt Jinja and macros with real compiled output: loops, variables, whitespace control, a custom macro, generate_schema_name, dbt_utils and avoiding over-templating.Intermediate9 min

Advanced

Performance, internals and edge cases.

  1. dbt Deployment, CI/CD and Governance: Environments, Slim CI, Defer, Versions and Accessdbt CI/CD and deployment: targets, selectors, state:modified+ with --defer for slim CI, production jobs, docs, exposures, model versions, groups and access.Advanced12 min

Interview preparation

The top interview questions, with answers.

  1. Top 50 dbt Interview Questions and AnswersTop 50 dbt interview questions with answers: models and materializations, incremental models, tests, snapshots, Jinja and macros, and CI/CD.Intermediate131 min

Projects and case studies

Apply what you learned and prepare material to discuss in interviews.

Projects

System design case studies

Resources

Cheat sheets

Related courses

Plan your learning

Search
Filter by type