<aside> 📖

Author: Lili Zhou · Published: March 16, 2025 · ⏱️ ~45 min read

Tags: dbt · data engineering · snowflake · analytics engineering · certification

</aside>

A hands-on reference guide covering everything you need to know about dbt — from project setup and models, to Jinja, macros, tests, and deployment. Written during my journey toward dbt certification, with real code examples and personal notes along the way.


image.png

✌️ My Learning Path

Before everything started, i highly recommend register one dbt trail account with one data warehouse trail account (i used snowflake). Even your company using dbt, as you really need full admin control of your account, and play whatever data you want!

1. dbt Fundamentals

I took this course first, it is great course to get start and base on dbt cloud, but i was bit confused when i learning. So I also take a Udemy class meanwhile.

I would recommend go this first, and if you same as i was, you can choose an online course as well( more organized, from 0 to build a project)

2. Udemy -The Complete dbt (Data Build Tool) Bootcamp: Zero to Hero

This is good tool at initial stage, but it is base on dbt core ( i have no problem with it even i am learning dbt cloud directly)

3. dbt certification path

https://learn.getdbt.com/learning-paths/dbt-certified-developer

The content here is more advanced and deeper.

4. Hands-On Experience

My daily work has data engineer project, get hands on there. If you dont use dbt in your daily work or you are student, i would highly recommend get the free trail to implement each tasks and test each functions.

🎾 Other Useful Links

https://learn.getdbt.com/learning-paths/dbt-certified-developer

https://github.com/nordquant/complete-dbt-bootcamp-zero-to-hero/tree/main

https://docs.getdbt.com/

https://app.slack.com/client/T0VLPD22H/C0VLZM3U2?selected_team_id=T0VLPD22H

There are a lot in dbt, keep learning, keep going.

Fight On!

Lili Zhou

0. Set up Connection w/ Snowflake

HIGHLY recommend get snowflake trials + dbt cloud trials And gets hands on by uusing those 2

https://docs.getdbt.com/guides/snowflake?step=1

Config your snowflake connection here, put the database name and warehouse.

This database need contain schema which you will use and the new schema that will be created in here.

In project, the schema we put will be created in snowflake in the database we put above. At first, I was confused, but as I connected with snowflake, I can test it , it helps to understand how dbt works with my schemas.

image.png

image.png


1. DBT Model

https://docs.getdbt.com/docs/build/models

DBT has 2 big type of models, SQL models and Python Models

1.1 Models Structure

dbt has its recommended structure: https://docs.getdbt.com/best-practices/how-we-structure/1-guide-overview

  1. Staging — creating our atoms, our initial modular building blocks, from source data, clean and standardize the data, one to one to source tables.
  2. Intermediate — stacking layers of logic with clear and specific purposes to prepare our staging models to join into the entities we want. Between staging and final models.