Skip to main content

Learning path

dbt learning path: everything to study, topic by topic

Comprehensive dbt (data build tool) assessment covering project structure, models, sources, materializations, testing, documentation, Jinja/macros, incremental strategies, model governance, CI/CD, dbt Cloud, Semantic Layer, MetricFlow, dbt Mesh, unit testing, Python models, and analytics engineering best practices.

Short answer

To learn dbt, work through 6 modules and 46 topics in the order they build on each other. It starts with dbt Fundamentals, then moves on to Data Modeling & Materializations and Testing & Documentation. Use the map as a checklist, or measure your level and study only what is missing.

6
modules
46
topics
45
min to assess

What you will study

Topics are grouped by module. Open one to see its objectives and key concepts.

1 · dbt Fundamentals5 topics
  • Project Structure

    dbt_project.yml configuration, directory layout (models/, seeds/, macros/, tests/, snapshots/, analyses/), profiles.yml, and project-level settings

    Objectives

    • Set up a dbt project with correct directory structure
    • Configure dbt_project.yml and profiles.yml

    Key concepts

    • dbt_project.yml
    • profiles.yml
    • directory layout
    • model-paths
    • target-path
    • clean-targets
  • dbt Models

    SQL and Python model files, model configurations, config blocks, model naming conventions, and the model compilation process

    Objectives

    • Create dbt models with proper configuration
    • Understand how dbt compiles models into SQL

    Key concepts

    • SQL model
    • Python model
    • config block
    • model compilation
    • target schema
    • model naming
  • ref() and DAG

    ref() function for model dependencies, DAG construction and visualization, model selection syntax, upstream and downstream dependencies

    Objectives

    • Build model dependencies with ref() and navigate the DAG
    • Use model selection syntax to run subsets of models

    Key concepts

    • ref()
    • DAG
    • model dependencies
    • upstream
    • downstream
    • dbt run --select
  • Sources

    source() function, source definitions in YAML, source freshness checks, loaded_at_field configuration, warn_after and error_after thresholds

    Objectives

    • Configure dbt sources with freshness monitoring
    • Use source() to reference raw data tables

    Key concepts

    • source()
    • source freshness
    • loaded_at_field
    • warn_after
    • error_after
    • source YAML
  • Seeds & Analyses

    CSV seed files for static reference data, seed configuration, analyses for ad-hoc SQL queries, and when to use seeds vs sources

    Objectives

    • Load reference data using dbt seeds
    • Know when to use seeds vs sources for static data

    Key concepts

    • dbt seed
    • CSV files
    • seed configuration
    • analyses
    • column_types
    • seeds vs sources
2 · Data Modeling & Materializations4 topics
  • Materializations

    Table, view, incremental, and ephemeral materializations; custom materializations; choosing the right materialization for different use cases

    Objectives

    • Choose appropriate materializations based on data volume and query patterns
    • Understand performance implications of each materialization

    Key concepts

    • table
    • view
    • incremental
    • ephemeral
    • custom materialization
    • materialization trade-offs
  • Modeling Layers & Naming

    Staging, intermediate, and mart layers; naming conventions (stg_, int_, fct_, dim_); one-source-per-staging-model rule; model organization patterns

    Objectives

    • Organize dbt models into proper layers following analytics engineering conventions
    • Apply naming conventions that communicate model purpose

    Key concepts

    • staging layer
    • intermediate layer
    • mart layer
    • stg_ prefix
    • fct_ and dim_ prefixes
    • one-source-per-staging
  • YAML Configuration

    Schema YAML files (_schema.yml), model properties, column descriptions, config inheritance (project > directory > model), meta properties

    Objectives

    • Write schema YAML files with model and column properties
    • Understand config inheritance and override behavior

    Key concepts

    • _schema.yml
    • model properties
    • column descriptions
    • config inheritance
    • meta
    • tags
  • Model Selection & Graph Ops

    Model selection syntax (+ and @ operators), tags, paths, graph operators, dbt ls, state-based selection, intersection syntax

    Objectives

    • Use dbt's selection syntax to run specific subsets of models
    • Combine selectors with intersection and union operators

    Key concepts

    • select syntax
    • + operator
    • @ operator
    • tag selector
    • path selector
    • intersection
3 · Testing & Documentation8 topics
  • Generic Tests

    Built-in generic tests (unique, not_null, accepted_values, relationships), test configuration, test severity, where clause for tests

    Objectives

    • Apply generic tests to ensure data quality
    • Configure test severity and conditional filters

    Key concepts

    • unique
    • not_null
    • accepted_values
    • relationships
    • test severity
    • where config
  • Custom & Singular Tests

    Singular tests in tests/ directory, custom generic tests as macros, test macros with arguments, dbt_utils test helpers

    Objectives

    • Write custom tests for complex data validation rules
    • Create reusable generic test macros

    Key concepts

    • singular tests
    • custom generic tests
    • test macros
    • dbt_utils tests
    • test arguments
    • test SQL
  • Documentation

    doc() blocks, markdown descriptions, dbt docs generate, dbt docs serve, auto-generated documentation site, persist_docs config

    Objectives

    • Generate and maintain dbt documentation
    • Use doc() blocks for reusable descriptions

    Key concepts

    • doc()
    • markdown descriptions
    • dbt docs generate
    • dbt docs serve
    • persist_docs
    • documentation site
  • Exposures & Metrics

    Exposures for downstream dependencies (dashboards, ML models), metrics definitions, semantic layer, exposure owners, and maturity levels

    Objectives

    • Define exposures to track downstream consumers of dbt models
    • Understand the role of metrics and the semantic layer

    Key concepts

    • exposures
    • metrics
    • semantic layer
    • exposure owner
    • maturity
    • downstream consumers
  • dbt Unit Tests

    dbt unit tests in YAML, expected output definitions, mocking refs with input fixtures, test execution, and differences from data tests and schema tests

    Objectives

    • Write dbt unit tests with input fixtures and expected output
    • Understand when to use unit tests vs data tests vs schema tests

    Key concepts

    • unit_tests YAML
    • expected output
    • mocking refs
    • input fixtures
    • test execution
    • unit vs data tests
  • dbt Testing Strategies

    Designing comprehensive dbt testing: custom generic tests, unit tests, contract tests, and test coverage strategies

    Objectives

    • Design a comprehensive testing pyramid for a dbt project with 100+ models
    • Implement contract tests to prevent breaking changes in public models

    Key concepts

    • generic tests
    • singular tests
    • unit testing (dbt-unit-testing)
    • contract tests
    • test coverage
    • dbt-expectations
    • meta tests
  • dbt Expectations & Advanced Testing

    dbt-expectations package for statistical and distributional tests, custom generic tests at scale, test coverage strategies, parameterized tests, and test orchestration patterns

    Objectives

    • Implement dbt-expectations tests for statistical data validation
    • Design comprehensive test coverage strategies for large dbt projects

    Key concepts

    • dbt-expectations
    • statistical tests
    • distributional tests
    • test coverage
    • parameterized tests
    • test orchestration
  • dbt Data Quality Monitoring

    Freshness SLAs beyond source freshness, anomaly detection in transformation outputs, automated alerting pipelines, Elementary integration, and observability dashboards

    Objectives

    • Implement data quality monitoring with freshness SLAs and anomaly detection
    • Integrate Elementary or similar tools for dbt observability dashboards

    Key concepts

    • freshness SLAs
    • anomaly detection
    • automated alerts
    • Elementary
    • observability dashboards
    • data quality scores
4 · Advanced dbt9 topics
  • Jinja Templating

    Jinja syntax in dbt (variables, control structures, filters), set and do blocks, whitespace control, compile-time vs run-time context

    Objectives

    • Write Jinja templates for dynamic SQL generation in dbt
    • Understand compile-time vs run-time evaluation

    Key concepts

    • Jinja variables
    • if/else
    • for loops
    • set/do blocks
    • whitespace control
    • compile-time context
  • Macros

    Macro creation and invocation, macro arguments, return values, dispatch pattern for cross-database compatibility, adapter macros

    Objectives

    • Write reusable macros for DRY SQL patterns
    • Use dispatch for cross-database compatibility

    Key concepts

    • macro definition
    • macro arguments
    • return()
    • dispatch
    • adapter macros
    • caller()
  • Packages

    packages.yml, dbt Hub, installing packages, dbt_utils, dbt_expectations, codegen, private packages from git, package version pinning

    Objectives

    • Install and use dbt packages for common patterns
    • Manage package versions and dependencies

    Key concepts

    • packages.yml
    • dbt Hub
    • dbt_utils
    • dbt_expectations
    • codegen
    • version pinning
  • Incremental Models

    Incremental strategies (append, merge, delete+insert, insert_overwrite), is_incremental() macro, unique_key, lookback windows, full_refresh

    Objectives

    • Design efficient incremental models for large datasets
    • Choose appropriate incremental strategies for different use cases

    Key concepts

    • is_incremental()
    • unique_key
    • merge strategy
    • delete+insert
    • insert_overwrite
    • full_refresh
  • Snapshots

    Type-2 slowly changing dimensions with dbt snapshots, timestamp and check strategies, snapshot configuration, invalidate_hard_deletes, snapshot freshness

    Objectives

    • Implement SCD Type-2 tracking using dbt snapshots
    • Choose between timestamp and check strategies

    Key concepts

    • snapshot strategy
    • timestamp strategy
    • check strategy
    • dbt_valid_from
    • dbt_valid_to
    • invalidate_hard_deletes
  • Hooks & Operations

    Pre-hook and post-hook configurations, on-run-start and on-run-end hooks, operations (dbt run-operation), grant macros, warehouse-level operations

    Objectives

    • Use hooks for cross-cutting concerns like permissions and logging
    • Implement run-operation for administrative tasks

    Key concepts

    • pre-hook
    • post-hook
    • on-run-start
    • on-run-end
    • run-operation
    • grant macros
  • Python Models

    dbt Python models using Snowpark or PySpark, DataFrame API usage, when to use Python vs SQL models, limitations, and environment dependencies

    Objectives

    • Write dbt Python models for complex transformations and ML pipelines
    • Evaluate when Python models are preferable to SQL models

    Key concepts

    • dbt Python models
    • Snowpark
    • PySpark
    • DataFrame API
    • Python vs SQL
    • Python model limitations
  • dbt Migration Patterns

    Migrating from stored procedures and legacy ETL to dbt, phased adoption strategies, side-by-side validation, audit comparisons, and organizational change management for dbt adoption

    Objectives

    • Plan and execute a phased migration from legacy ETL to dbt
    • Validate migrated dbt models against legacy pipeline outputs

    Key concepts

    • stored procedure migration
    • legacy ETL migration
    • phased adoption
    • side-by-side validation
    • audit comparison
    • organizational adoption
  • dbt for Real-Time

    Micro-batch incremental models, streaming integration patterns with Kafka/Kinesis, near-real-time transformation approaches, materialized views, and hybrid batch-streaming architectures

    Objectives

    • Design micro-batch incremental models for near-real-time data freshness
    • Integrate dbt with streaming platforms in hybrid batch-streaming architectures

    Key concepts

    • micro-batch incremental
    • streaming integration
    • near-real-time
    • materialized views
    • hybrid architectures
    • event-driven patterns
5 · Model Governance & Quality11 topics
  • Model Contracts & Versions

    Model contracts for enforcing column types and constraints, model versioning for backward compatibility, contract enforcement, latest_version config

    Objectives

    • Enforce data contracts on dbt models for downstream reliability
    • Version models for safe schema evolution

    Key concepts

    • model contracts
    • columns constraints
    • data_type enforcement
    • model versions
    • latest_version
    • defined_in
  • Groups & Access Control

    Model groups for ownership boundaries, access modifiers (private, protected, public), cross-group ref restrictions, model governance at scale

    Objectives

    • Implement model access control using groups
    • Design governance boundaries for multi-team dbt projects

    Key concepts

    • groups
    • access modifiers
    • private models
    • protected models
    • public models
    • cross-group references
  • Debugging & Error Handling

    dbt debug command, compiled SQL inspection, log analysis, common error patterns, run_results.json analysis, node status interpretation

    Objectives

    • Debug failing dbt models using compiled SQL and logs
    • Interpret run results for troubleshooting

    Key concepts

    • dbt debug
    • compiled SQL
    • target/compiled
    • run_results.json
    • log levels
    • common errors
  • Semantic Layer

    dbt Semantic Layer architecture, metrics definitions, semantic models, entities, dimensions, measures, and metric consistency across BI tools

    Objectives

    • Design semantic models with entities, dimensions, and measures
    • Define metrics that ensure consistency across analytics tools

    Key concepts

    • metrics definitions
    • semantic models
    • entities
    • dimensions
    • measures
    • metric consistency
  • dbt Mesh

    dbt Mesh architecture for multi-project setups, cross-project references, model contracts for public interfaces, access modifiers, and groups for team boundaries

    Objectives

    • Design a dbt Mesh architecture for multi-team organizations
    • Implement cross-project references with proper governance

    Key concepts

    • cross-project references
    • dbt Mesh architecture
    • model contracts
    • access modifiers
    • groups
    • multi-project governance
  • Semantic Layer & MetricFlow

    MetricFlow engine, derived metrics, cumulative metrics, conversion metrics, metric queries, Semantic Layer API, and BI tool integration

    Objectives

    • Define derived, cumulative, and conversion metrics using MetricFlow
    • Query metrics through the Semantic Layer API

    Key concepts

    • MetricFlow engine
    • derived metrics
    • cumulative metrics
    • conversion metrics
    • metric queries
    • SL API
  • Semantic Layer & Metrics

    Building a semantic layer with dbt's MetricFlow and integrating with BI tools for consistent business metric definitions

    Objectives

    • Define semantic models and metrics with MetricFlow for consistent business definitions
    • Integrate the dbt Semantic Layer with BI tools via JDBC/REST APIs

    Key concepts

    • MetricFlow
    • semantic models
    • dimensions
    • measures
    • saved queries
    • BI integration
    • metric consistency
    • single source of truth
  • dbt Security & Data Lineage

    Managing data lineage with dbt docs, column-level lineage, access policies, and integrating with data catalogs

    Objectives

    • Implement node access control (public/protected/private) for multi-team dbt projects
    • Integrate dbt lineage with a data catalog for end-to-end observability

    Key concepts

    • column-level lineage
    • dbt docs
    • node access (public/protected/private)
    • groups
    • catalog integration
    • data catalog
    • lineage visualization
  • dbt Contracts & API Boundaries

    Enforcing contracts between teams, versioned models for backward compatibility, breaking change detection, contract enforcement policies, and API-style model interfaces

    Objectives

    • Enforce inter-team API boundaries using dbt model contracts
    • Implement versioned models with breaking change detection workflows

    Key concepts

    • model contracts
    • versioned models
    • breaking change detection
    • contract enforcement
    • API boundaries
    • interface stability
  • dbt Multi-Project Architecture

    dbt Mesh cross-project references, dependency management between projects, shared model libraries, project boundaries, and multi-project governance at scale

    Objectives

    • Design a multi-project dbt Mesh architecture with clear team boundaries
    • Manage cross-project dependencies and shared model libraries at scale

    Key concepts

    • cross-project refs
    • dbt Mesh
    • project boundaries
    • shared model libraries
    • dependency management
    • multi-project governance
  • dbt Governance & Compliance

    PII tagging and classification, column-level lineage for compliance, audit logging of transformations, access controls for sensitive data, and regulatory reporting

    Objectives

    • Implement PII classification and governance controls in dbt pipelines
    • Design audit-compliant data transformation workflows with lineage tracking

    Key concepts

    • PII tagging
    • column-level lineage
    • audit logging
    • access controls
    • regulatory compliance
    • data classification
6 · Operations & CI/CD9 topics
  • CI/CD & Deployment

    dbt Cloud CI jobs, slim CI with state comparison, GitHub Actions integration, environment promotion (dev, staging, prod), dbt build command

    Objectives

    • Implement CI/CD pipelines for dbt projects
    • Use slim CI with state comparison for efficient builds

    Key concepts

    • slim CI
    • state:modified
    • dbt build
    • CI jobs
    • environment promotion
    • defer flag
  • State & Artifacts

    dbt artifacts (manifest.json, catalog.json, run_results.json, sources.json), state comparison, artifact-based selection, deferred runs

    Objectives

    • Leverage dbt artifacts for advanced CI/CD and monitoring
    • Implement state-based model selection for efficient builds

    Key concepts

    • manifest.json
    • catalog.json
    • run_results.json
    • state comparison
    • deferred runs
    • artifact parsing
  • Orchestration & Performance

    dbt Cloud job orchestration, Airflow/Dagster integration, model parallelism, warehouse optimization, thread configuration, performance profiling

    Objectives

    • Orchestrate dbt runs within broader data pipelines
    • Optimize dbt project performance at scale

    Key concepts

    • job orchestration
    • Airflow integration
    • Dagster integration
    • threads
    • model parallelism
    • performance profiling
  • dbt Cloud

    dbt Cloud IDE, job scheduler, CI/CD jobs, slim CI, dbt Explorer, environment management, and Cloud-specific features vs. dbt Core CLI

    Objectives

    • Navigate and use the dbt Cloud IDE for model development
    • Configure dbt Cloud environments and CI/CD jobs

    Key concepts

    • dbt Cloud IDE
    • scheduler
    • CI/CD jobs
    • slim CI
    • dbt Explorer
    • environments
  • dbt at Scale

    Structuring large dbt projects: modularization, project splitting, dbt-core packages, and performance optimization

    Objectives

    • Architect a multi-project dbt setup using dbt Mesh and cross-project refs
    • Optimize dbt run performance through parallelism and materialization tuning

    Key concepts

    • project modularity
    • dbt packages
    • dbt mesh
    • cross-project refs
    • model configs
    • run parallelism
    • incremental materialization strategies
  • dbt Cloud Orchestration

    Orchestrating dbt Cloud jobs: job dependencies, CI/CD integration, slim CI, and monitoring with dbt Cloud APIs

    Objectives

    • Implement slim CI with dbt Cloud using state comparison to run only changed models
    • Design job dependencies and webhook-triggered pipelines in dbt Cloud

    Key concepts

    • dbt Cloud jobs
    • slim CI
    • job triggers
    • CI webhooks
    • defer to production
    • environment variables
    • dbt Cloud API
  • dbt Performance Tuning

    Model optimization techniques, incremental strategy selection for large datasets, warehouse-specific tuning (Snowflake clustering, BigQuery partitioning, Redshift sort keys), thread configuration, and build profiling

    Objectives

    • Optimize dbt model performance using warehouse-specific tuning strategies
    • Profile and resolve build bottlenecks in large dbt projects

    Key concepts

    • model optimization
    • warehouse-specific tuning
    • clustering keys
    • partitioning
    • thread tuning
    • build profiling
  • dbt CI/CD Advanced Patterns

    Slim CI with state comparison, deferred runs against production artifacts, PR-based ephemeral environments, state:modified selectors, and multi-environment promotion pipelines

    Objectives

    • Implement slim CI pipelines with deferred runs for cost-efficient testing
    • Design PR-based ephemeral environments with proper state management

    Key concepts

    • slim CI
    • deferred runs
    • state comparison
    • PR environments
    • multi-environment promotion
    • artifact-based selection
  • dbt Cost Management

    Warehouse cost attribution per model, query cost optimization strategies, build efficiency metrics, cost-aware materialization choices, and budget alerting

    Objectives

    • Implement per-model cost attribution and optimization strategies
    • Design cost-efficient dbt builds with budget awareness and alerting

    Key concepts

    • cost attribution
    • query cost optimization
    • build efficiency
    • cost-aware materializations
    • budget alerting
    • warehouse spend tracking

Levels: Junior, Mid, Senior, and Expert

Explain it in your own words

Graded by AI · no account · 1 question

No options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.

0 / 600

Already studying dbt?

The assessment measures topic by topic, and your plan skips what you already know.

Open to read. An account is only needed to be measured.

Frequently asked questions

Where should I start studying dbt?

Start with dbt Fundamentals: Project Structure, dbt Models, and ref() and DAG. The map orders topics by what they depend on, so each one prepares the next.

How long does a full dbt assessment take?

A full assessment of this path takes about 45 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.

Do I need an account to use this page?

No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.