
Explore dbt's top features, including modular and reusable sql models, built-in version control, data-validation tests, incremental builds, documentation, cloud data warehouse support with Snowflake, BigQuery, and Redshift, and open-source community.
Define data models and build pipelines with dbt to support analytical workflows. Transform raw data into analysis-ready datasets, enable BI exploration, and scale collaborative, version-controlled, resilient pipelines.
Explore the Snowflake web UI to manage warehouses, users, and admin settings, and learn to run SQL queries in worksheets across databases, schemas, and tables.
Load sample data into a sales database and practice SQL queries on the fact_sales table. Use select, limit, and offset to fetch product code, sales amount, and state code.
Set up the dbt project by configuring a Snowflake connection, creating the analytics project, and testing credentials, then choose a repository (managed) for development.
Initialize dbt project in the cloud IDE, creating folders like analysis, macros, models, seeds, snapshots, and tests, and set up version control with a dev branch before merging to main.
Discover the dbt project config file, outlining project name, version, profile, and directory paths for models, analysis, tests, seeds, macros, and snapshots, plus the target and materialization settings.
Explore creating simple dbt models with hello world examples, learn a basic cte and union, use the ref function, and run dbt to build these models in Snowflake.
Explore dbt model logs after a dbt run to read system logs and interpret status, warnings, and errors. Learn how models materialize as tables or views and override materializations.
Build your first dbt model by transforming raw data from the jaffle shop customers and orders into a dim customers view using cte logic.
Structure your dbt project with marts, core, and staging folders; separate fact tables from dimensions, and place dim customers in core while staging raw data. Understand star and snowflake schemas.
Explore how dbt materializations default to views and how to override them to tables using a config block or project settings, with examples from staging and the main models.
Refactor and build staging and fact models in dbt to integrate payments with orders, rename fields, and convert amounts, then extend dim customers with lifetime value.
Dbt schemas organize related database objects, manage dependencies, and enable modular, versioned, and tested schema definitions for tables, views, and macros.
Learn how macros in dbt are defined in dot sql files inside the macros directory using jinja templates, enabling reusable code across models similar to functions in other languages.
Discover how testing verifies code and sql transformations meet assertions in dbt, using select statements against materialized models. This approach helps catch errors early and document data pipelines over time.
Explore two dbt tests: generic tests in ml files run on specific columns and return counts of failing records, while singular tests in sql files run on the entire model.
Explore dbt's generic tests, including unique, not null, accepted values, and relationships, to validate data and enforce statuses like placed, shipped, or completed.
Write singular tests in dbt by creating sql assertions against models, ensuring total amounts per order are positive using stage payments and ref, and run dbt test --select stage_payments.
dbt test runs generic and singular tests in your project, with flags to select the type, and can test source tables for not null and unique constraints.
Explore the default materialization in a dbt project, including table and view options that transform and store data. See how dbt_project.html sets these defaults for staging, marts, and example folders.
Learn to override the default materialization with a config block, setting materialized to table for staging and stage customers to replace views with tables.
Explore dbt's source function to reference external data as raw data loaded into the warehouse, illustrated by a jaffle shop with customers, orders, and payments.
Learn how dbt source freshness ensures data quality by enforcing timely ingestion through freshness blocks, one after and error after thresholds, and date fields in customers and orders.
Implement source freshness checks in dbt by configuring freshness blocks for sources or tables, with count, period, and a loaded field, triggering warnings or errors to ensure data freshness.
Seed dbt with employees.csv, build the employees table, and reference it in a model using ref; perform a left join and add tests (including schema.html) for seeds.
Enable email or Slack notifications in dbt cloud to monitor run status and events, then review run history, current jobs, and download logs to diagnose issues.
Move a dbt project from development to production by merging branches, configuring a prod environment, and scheduling runs with logs, freshness checks, and history.
Learn how dbt materializes models as tables, views, or ephemeral models, override defaults with config blocks, and use CTEs to build downstream models while keeping ephemeral models non-persistent.
dbt demonstrates implementing incremental load for an orders model, using order date and max order date to fetch new records, with initial full refresh and later incremental updates.
Design a custom macro named sense_to_dollars in dbt to convert a numeric amount by dividing by 100, parameterize the column name, and control decimal places for reusable, cross-order calculations.
Explains dbt packages as importable dbt projects that bring macros and models into yours, shows using package hubs and dbt deps to install and use utilities like date spine.
Master Data Transformation with dbt (Data Build Tool)
This course is designed to equip you with the skills to build, transform, and manage modern data workflows using dbt (Data Build Tool). Learn how to implement analytical engineering principles, create robust data models, and ensure data quality through testing and validation. From setting up dbt projects to managing schema changes and optimizing performance, this course covers everything you need to become proficient in dbt.
You’ll work hands-on with SQL, Jinja templates, and dbt macros, building reusable, scalable, and efficient data pipelines. By the end of this course, you’ll have the knowledge and practical experience to confidently use dbt for transforming raw data into actionable insights, collaborating on data projects, and automating workflows for any data warehouse environment.
This course is perfect for data analysts, engineers, and anyone looking to enhance their data transformation skills with modern tools.
By the end of this course, you’ll have the knowledge and practical experience to confidently use dbt for transforming raw data into actionable insights, collaborating on data projects, and automating workflows for any data warehouse environment. This course is perfect for data analysts, engineers, and anyone looking to enhance their data transformation skills with modern tools.