CertSafari

    DBT Analytics Engineering Lessons

    31 lessons, one per exam-guide subdomain, in the order the guide teaches them. Every claim is cited to the official documentation.

    Domain 1: Developing and optimizing dbt models

    14 lessons · 45% of the exam

    1. 1.1Raw object dependencies with source() and ref()

      Subdomain 1.1: Identifying and verifying any raw object dependencies

      12 min read

    2. 1.2dbt materializations: view, table, incremental, ephemeral and materialized view

      Subdomain 1.2: Understanding core dbt materializations

      15 min read

    3. 1.3Modularity and DRY in dbt: layers, macros and packages

      Subdomain 1.3: Conceptualizing modularity and how to incorporate DRY principles

      16 min read

    4. 1.4dbt run, test, seed, snapshot and build: what each command executes

      Subdomain 1.4: Using commands such as build, run, test, docs, show, snapshot, and seed

      2 pages · 20 min read

    5. 1.5Layering dbt models into a clean DAG

      Subdomain 1.5: Creating a logical flow of models and building clean DAGs

      16 min read

    6. 1.6Configuring resources in dbt_project.yml

      Subdomain 1.6: Defining configurations in dbt_project.yml

      14 min read

    7. 1.7dbt packages: installing, pinning and overriding them

      Subdomain 1.7: Using dbt Packages

      15 min read

    8. 1.8Python models in dbt: the model() function, configuration and materializations

      Subdomain 1.8: Creating Python Models

      16 min read

    9. 1.9Granting access to dbt models with the grants config

      Subdomain 1.9: Providing access to users to models with the "grants" config

      13 min read

    10. 1.10Creating dbt snapshots in YAML

      Subdomain 1.10: Creating snapshots in YAML

      17 min read

    11. 1.11Choosing a dbt incremental strategy for your dataset

      Subdomain 1.11: Selecting the optimal incremental strategy based on a dataset's characteristics

      15 min read

    12. 1.12Schema-only dry runs with the dbt --empty flag

      Subdomain 1.12: Validating model logic and schema definitions in dry-runs using the --empty flag

      12 min read

    13. 1.13Running dbt models in sample mode with --sample

      Subdomain 1.13: Running models in sample mode using the --sample flag

      11 min read

    14. 1.14Microbatch incremental models in dbt

      Subdomain 1.14: Understanding advanced dbt materializations such as microbatch

      17 min read

    Domain 2: Managing dbt models governance

    3 lessons · 10% of the exam

    1. 2.1dbt model contracts: enforcing column names and data types

      Subdomain 2.1: Adding contracts to models to ensure the shape of models

      16 min read

    2. 2.2Creating model versions in dbt

      Subdomain 2.2: Creating different versions of our models and deprecating the old ones

      2 pages · 22 min read

    3. 2.3dbt constraints in YAML: enforcing data integrity in the warehouse

      Subdomain 2.3: Defining constraints in YAML to enforce data integrity at the platform level

      14 min read

    Domain 3: Debugging data modeling errors

    5 lessons · 16% of the exam

    1. 3.1Reading dbt error messages and logs

      Subdomain 3.1: Understanding logged error messages

      15 min read

    2. 3.2Troubleshooting dbt models with compiled SQL

      Subdomain 3.2: Troubleshooting using compiled code

      14 min read

    3. 3.3Troubleshooting dbt .yml compilation errors

      Subdomain 3.3: Troubleshooting .yml compilation errors

      13 min read

    4. 3.4Fixing a dbt model and testing the fix before merging

      Subdomain 3.4: Developing and implementing a fix and testing it prior to merging

      13 min read

    5. 3.5dbt flags: precedence, behavior change flags and flags in Jinja

      Subdomain 3.5: Managing dbt behavior with flags

      14 min read

    Domain 4: Troubleshooting and optimizing dbt pipelines

    2 lessons · 6% of the exam

    1. 4.1Troubleshooting failure points in the dbt DAG

      Subdomain 4.1: Troubleshooting and managing failure points in the DAG

      12 min read

    2. 4.2dbt clone: zero-copy clones, pointer views and CI

      Subdomain 4.2: Using dbt clone

      13 min read

    Domain 5: Implementing dbt tests

    3 lessons · 10% of the exam

    1. 5.1dbt tests: generic, singular, custom generic and unit tests

      Subdomain 5.1: Using generic, singular, custom, custom generic, and unit tests on a wide variety of models and sources

      18 min read

    2. 5.2Testing assumptions on dbt models and sources

      Subdomain 5.2: Testing assumptions for dbt models and sources

      15 min read

    3. 5.3Running dbt tests in development, CI and production

      Subdomain 5.3: Implementing various testing steps in the workflow

      15 min read

    Domain 6: Implementing and maintaining external dependencies

    2 lessons · 6% of the exam

    1. 6.1dbt exposures: declaring downstream dashboards, apps and ML

      Subdomain 6.1: Implementing dbt exposures

      14 min read

    2. 6.2Source freshness in dbt: configure, run and schedule checks

      Subdomain 6.2: Implementing source freshness

      14 min read

    Domain 7: Leveraging the dbt state

    2 lessons · 6% of the exam

    1. 7.1dbt state and state selection: state:, result: and source_status:

      Subdomain 7.1: Understanding state and state selection

      18 min read

    2. 7.2dbt retry: resuming a failed run from the point of failure

      Subdomain 7.2: Using dbt retry

      12 min read