
Learn dbt from scratch by setting up dbt locally, connecting to Snowflake or your chosen warehouse, creating SQL transformations with tests and scheduled runs, and using data snapshots in development.
Follow along with hands-on coding, access the course code and repository, use the docs and Slack to get help, and succeed in this dbdt course.
Set up DB2 and Snowflake data warehouse, connect them, install everything, then start querying data and creating the first transformation.
Create a GitHub repository, clone it locally, and initialize a dbt project; then set up Snowflake with a 30-day free trial, sign up for $400 of credits, and choose us-east.
activate your Snowflake account, create a small warehouse with auto suspend, switch to account admin, and configure a dbt profile with a transform user and role for analytics DB2.
Connect to Snowflake, verify the connection with dbt debug, then run dbt run to execute models and create tables and views, and finally use dbt test to validate data quality.
Learn to build dbt transformations with Snowflake sample data, perform a left join between customer and orders, and sum total price per customer into snowflake_customer_purchases.
Explore dbt from scratch by building models, implementing various materializations, and creating both basic and custom tests to verify models function correctly.
Learn four materialization types in dbt for deploying models to Snowflake: table, view, incremental, and ephemeral, with their pros and cons.
Edit dbt models to configure as views or materialized tables, show default materialization in the project yaml, deploy to Snowflake, and explore incremental and ephemeral materializations.
Learn how to implement incremental models in dbt, using a unique key to load only new dates from the Snowflake date dim, optimizing performance for large datasets.
Explore ephemeral materializations in dbt that create a model used by other models but not queryable in Snowflake. See how to configure, test, and reuse stored logic across models.
Explore advanced dbt configurations, aliasing tables in Snowflake, routing to custom schemas and databases, and using project variables to tailor data pulls.
Learn how dbt tests enforce data quality by validating not null and unique IDs, accepted values, and relationships across models, using schema yaml and the dbt test workflow.
Learn how to create and run custom tests in dbt, including a SQL assert for under 10% nulls, fixing failures, and differentiating test folder tests from schema tests.
Deploy your code from the command line and set up your cloud using dbt cloud, enabling scheduled deployments and harnessing dbt’s advanced features for your data architecture.
Run dbt models from the terminal by targeting all models in a directory, specific models, or explicit directories, and prepare for scheduled runs in the dbt cloud.
Sign up for dbt cloud and configure the project to run models and tests on the cloud and on a schedule, connecting Snowflake and GitHub.
Set up a production environment in DB Cloud, configure deployment credentials, and run dbt tests and models against Snowflake, with manual and scheduled runs using GitHub and master.
Explore advanced topics in DVT to build versatile models, integrate with Snowflake, and manage deployment with commands, snapshots, sources, and macros.
Learn how to use dbt hooks to grant permissions and audit runs: implement post run hooks and pre hooks to create an audit table tracking model executions.
Explore how dbt snapshots track changes over time for slowly changing dimensions, using an updated_at field and snapshot schema to manage evolving data such as customer addresses.
Configure and name source data tables in dbt using schema.yaml, convert snowflake tables like customer and orders into sources, and define tests for them and reference them in models.
Learn how dbt macros combine SQL and Jinja to create reusable, maintainable code. Build and use macros like group by and rename segments to automate grouping and renaming across models.
learn how to create a dbt macro named suspend to run an alter warehouse suspend command for snowflake via run operation, including parameterization, printing results, and handling privileges.
Explore dbt best practices for setting up dev environments, common table expressions, tagging models to control run frequency, limiting test data for speed, and CI with GitHub on PRs.
Manage dbt experiments by switching to isolated schemas for testing, creating per-person environments in Snowflake and dbt cloud, so production data remains safe while you validate models.
Adopt a style guide for dbt by using common table expressions at the top of each sql file to clearly source tables, such as sample_customer and sample_orders.
Tag dbt models and directories with keywords to control runs, such as nightly or hourly, and apply tags at directory or model level for targeted executions.
Limit data in local dbt runs by applying a where clause when the target is dev, speeding tests and ensuring consistent target names across the team.
Learn how to integrate dbt cloud with GitHub to run automated dbt run and dbt test on pull requests, using a GitHub app, webhooks, and CI best practices.
What you'll learn
Welcome to this course, Learn DBT from Scratch. DBT lets you build a system of transformations on your data, with tests, scheduled runs, multiple environments, flexibility, and more all without needing a team of engineers to set up and manage your workflow. By the end of this course, you will have:
set up DBT locally and on the cloud
connected DBT to Snowflake (or a data warehouse of your choice)
create your own SQL transformations on data
test your transformations
snapshot your data to keep track of how your data changes over time
learn DBT best practices
In this course, you'll be presented with the summarized information you need so that you can quickly get DBT implemented in your data pipeline (or in a brand new, data warehouse).
Why you should learn DBT
DBT is not one of the first technical skills most Data Scientists or Analysts think to learn. It’s not as exciting as machine learning algorithms, and it’s not as easy to show off as a fancy data visualization.
But DBT is an absolutely fundamental skill for any Data Scientist or Analyst due to all of its capabilities. Because DBT is so flexible, there are almost an endless amount of ways you can integrate DBT into your data architecture. Some features that DBT provides you that all Data Scientists and Analysts should be using in their work include:
Creating consistent aggregations for your analysis in a single location
Consistently testing your transformations and underlying data
Running your data transformations on a schedule
Test your code in a DEV environment
About DBT
DBT is pioneering modern analytics engineering. DBT applies the principles of software engineering to analytics code, an approach that dramatically increases your leverage as a data analyst. They believe that data analysts are the most valuable employees of modern, data-driven businesses and they build tools that empower analysts to own the entire analytics engineering workflow.