
Master dbt analytics concepts through an Ethereum data project, covering transformations, incremental models, tests, governance, and performance, with hands-on setup, iteration, and a full practice exam.
Navigate this progressive dbt course by following in-order sections from setup to a baseline project, with quizzes, practice tests, and simulations aligned to the dbt analytics engineer exam topics.
Define dbt sources in a sources.yaml entry named eth with schema eth_schema and tables contracts, token transfers, and transactions. Test source with a test model and verify lineage in dbt.
Create an enriched transactions model in dbt by selecting hash, block number, date, from and to addresses, value, receipt contract address, and input from the transactions source, aliased as t.
Learn how incremental models handle adding a new field with on schema change parameters, ignoring, failing, or syncing all columns, and when to use a full refresh to backfill records.
Convert business logic into performant sql queries by building simple, single-task dbt models that follow dry principles, reuse blocks, and apply cte-based joins and efficient materializations.
Master dbt run with full project execution, select specific models using dash dash select, and use empty and fail fast flags to validate and speed up development.
Define schema tests in dbt by creating a schema.yaml for models, applying not null and unique checks on the transactions hash column, and running dbt test to verify data quality.
Learn how to use dbt seed to load a stablecoins csv into a seeds table, then join it to your activity per day model and apply dimension-only seed best practices.
Master the dbt_project.yml as the single source of truth and control center for your dbt project, governing models, tests, seeds, and macros.
Explore alias configuration in dbt_project.yml and model-level aliases to materialize models with meaningful warehouse names; leverage variables and jinja for dynamic token activity per day.
Learn to use dbt packages, focusing on the code gen package from dbt hub. Install via packages.yaml, manage dependencies with dbt devs, and generate sources and models using macros.
Simulate a merge conflict when multiple developers edit the same dbt project yaml; learn to resolve conflicts locally or via remote pull requests, choosing current or incoming changes.
Create a prod environment in profiles.yaml and use target.name to tailor database and schema per environment, then dbt compile and run to limit data in dev or prod.
Use the codegen macro to generate model yaml for dbt, define schemas in schema.yaml, and enforce contracts true to lock column names and data types for models exposed to customers.
Explore dbt model access through groups, using private, protected, and public policies to control which models reference others, demonstrated by analytics engineering and fraud platform groups configured in YAML.
This course is designed to help you prepare confidently for the dbt Analytics Engineering Certification exam - without just memorizing answers.
When I personally passed the dbt Analytics Engineer exam, I felt frustrated by how most resources approach it: lots of isolated quiz questions, not enough explanation of why things work the way they do in dbt. This course is my attempt to fix that.
Instead of random examples, we work through a real dbt project end-to-end, built on top of Ethereum blockchain data. Not because this is about crypto (it’s not), but because it’s a rich, realistic dataset that lets us explore dbt concepts properly.
Each section of the course is mapped directly to the official dbt exam objectives, so everything you learn has a clear purpose.
You’ll start by setting up your environment (Snowflake, dbt Core, VS Code), then build a rough dbt project. From there, we progressively dive into the exam topics: models, tests, state, selectors, CI/CD, contracts, versions, model access, Python models, freshness, exposures, and debugging.
The course includes a full-length practice exam (65 questions, 2 hours) and guidance on how to approach the real test strategically.
I’m transparent: no course covers 100% of edge cases. This one aims for ~90% coverage, while teaching you how to reason like the exam expects. That’s what actually makes the difference.