
dbt stands for data build tool, open source solution for transforming and modeling data in the data warehouse, using modular sql and models as code with version control and tests.
Create a dbt account on dbt cloud by entering your email, name, and company, then enable multi-factor authentication via text messages and verify your email.
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.
Explore the benefits of dbt for your data workflow: SQL-based, version-controlled transformations, built-in data quality tests, easy use for non-engineers, and accessible lineage graphs and data catalog.
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.
Create a snowflake account by signing up, selecting AWS, Mumbai region, and completing verification; learn to locate and copy your account URL and account identifier for connections.
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.
Explore the dbt cloud web ui, navigate the dashboard and settings, view project details, and use develop, deploy, and explore tabs to manage connections, environments, and jobs.
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 how dbt models are defined as .sql files in the models directory, typically containing select statements for transformations, organized in subfolders, and how to run these models.
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.
Learn how dbt run builds models from raw data in snowflake, transforming customers data into views and tables with preview, compile, and lineage insights.
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.
Learn how to use the ref function in dbt to modularize transformations by referencing stage models like stage_customers and stage_orders, producing dim_customers, and viewing lineage.
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.
Learn how dbt tests validate data models by running assertions in not null and unique checks, using SQL behind the scenes, and executing tests with the dbt test command.
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.
Learn to create and run dbt generic tests in staging models, applying unique and not null constraints to stage customers and accepted values to stage orders, via YAML definitions.
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.
Discover how dbt materializations define how data is transformed and loaded, shaping tables, views, and strategies like incremental and ephemeral models for efficient warehouse queries.
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 to add sources in dbt by defining sources, schemas, and tables (jaffle shop and stripe), then reference them with source() and preview data.
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.
Discover how dbt seeds use csv files in the seeds folder to create static reference tables in your data warehouse, like country codes and date tables.
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.
Collaborate on dbt cloud projects by setting up a repository, inviting collaborators, and using branches, commits, and pull requests to manage version control and deployment to production.
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.
Explore Jinja, a Python based templating language used to write SQL for dbt models, including variables, lists, dictionaries, if statements, for loops, and macros.
Explore how dbt docs automatically generate a central documentation site for your dbt projects, including models, tests, macros, and sources, to boost collaboration and shared understanding of the data pipeline.
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.