Analytics Engineering with dbt
Learn to build tested, documented SQL transformations with dbt: staging to marts, materializations, incremental models, tests, and lineage.
What You'll Learn
Understanding Why Raw SQL Scripts Stop Working
An analyst at acme-shop opens a folder called sql_scripts_final_v3.
Setting Up Your First dbt Project
Installing dbt and connecting to Postgres Install dbt Core with the adapter for your warehouse, in the virtual environment you use for the lab.
Building the Staging, Intermediate, and Marts Layers
A widely used dbt structure has three layers: staging, intermediate, and marts.
Choosing the Right Materialization
A materialization is how dbt physically builds a model in the warehouse. Same SELECT, different storage.
Testing dbt Models So Broken Data Never Reaches a Dashboard
A model that runs without error is not the same as a model that is correct.
Troubleshooting a Mart That Shows Duplicate Revenue
On a Monday morning a teammate says the revenue mart is higher than finance's number. dbt run finished with no errors.
Skills You'll Master
Curriculum Index12 topics
Understanding Why Raw SQL Scripts Stop Working
An analyst at acme-shop opens a folder called sql_scripts_final_v3.
Setting Up Your First dbt Project
Installing dbt and connecting to Postgres Install dbt Core with the adapter for your warehouse, in the virtual...
Building the Staging, Intermediate, and Marts Layers
A widely used dbt structure has three layers: staging, intermediate, and marts.
Choosing the Right Materialization
A materialization is how dbt physically builds a model in the warehouse. Same SELECT, different storage.
Testing dbt Models So Broken Data Never Reaches a Dashboard
A model that runs without error is not the same as a model that is correct.
Troubleshooting a Mart That Shows Duplicate Revenue
On a Monday morning a teammate says the revenue mart is higher than finance's number. dbt run finished with no errors.
Documenting Models and Reading the Lineage Graph
Describing models and columns The exact wording of this output differs between versions; what matters is the local...
Using Packages and Knowing What Exists Beyond This Module
Installing dbt_utils A package is a shared dbt project you install into yours.
Running dbt in CI
Everything so far ran on your laptop. The real value appears when dbt sits inside a team's pull request process.
Running the Hands-on Lab
You will build 7 models and 14 tests on the acme-shop data.
Understanding What You Built and What Comes Next
What you built You turned raw acme-shop tables into a tested, documented dbt project: four staging models, one...
Reviewing the Quick Reference and Common Mistakes
Quick reference Common mistakes Using the table materialization on a very large model rebuilds everything on every run...
Career Impact
Roles that use the skills in this module.
Data Engineer
Platform Engineer
Next Modules
Related Guides
Practice on the Coding Sheet
Not a software engineer sheet. Every problem comes from real DevOps, SRE, Platform and Cloud interviews, from your first script to a system you build yourself.
Open the Coding SheetFrequently Asked Questions
No. dbt handles only the transform step. Tools like Airflow, Fivetran, or Debezium land raw data in the warehouse first, and dbt turns those raw tables into clean, tested models.
dbt run builds models, dbt test runs tests, and dbt build does both in dependency order. build skips anything downstream of a failed model or test, so it is the safest command for CI.
Use one when rebuilding the whole table every run is too slow or costly. Start with a view or table, and move to incremental only when the data volume makes full rebuilds a real problem.
No. dbt Core is free and open source and runs from the command line. dbt Cloud adds hosted scheduling, CI, and docs, which are useful but not required to learn or use dbt.