0
0
dbtdata~30 mins

Organizing models in directories in dbt - Mini Project: Build & Apply

Choose your learning style9 modes available
Organizing models in directories
📖 Scenario: You are working on a data project using dbt. Your project has many data models. To keep things neat and easy to find, you want to organize these models into folders (directories).Think of it like organizing your school notes into different notebooks by subject. This helps you find what you need quickly.
🎯 Goal: You will create a folder structure inside the models directory and place model files in the right folders. Then, you will write a simple model SQL file inside a folder.
📋 What You'll Learn
Create a folder named sales inside the models directory
Create a folder named marketing inside the models directory
Create a model file named daily_sales.sql inside the sales folder
Write a simple SQL SELECT statement inside daily_sales.sql that selects all columns from raw_sales table
💡 Why This Matters
🌍 Real World
Organizing models in folders helps teams manage many data models clearly and avoid confusion.
💼 Career
Data analysts and engineers often organize dbt projects this way to improve collaboration and maintainability.
Progress0 / 4 steps
1
Create folders inside the models directory
Create two folders named sales and marketing inside the models directory of your dbt project.
dbt
Need a hint?

Use your file explorer or terminal commands like mkdir models/sales and mkdir models/marketing.

2
Create a model file inside the sales folder
Inside the models/sales folder, create a file named daily_sales.sql.
dbt
Need a hint?

Create the file using your text editor or terminal command like touch models/sales/daily_sales.sql.

3
Write a simple SQL SELECT statement in daily_sales.sql
Open the models/sales/daily_sales.sql file and write this exact SQL code:
SELECT * FROM raw_sales;
dbt
Need a hint?

This SQL selects all columns from the raw_sales table.

4
Display the path and content of the daily_sales.sql model
Print the path models/sales/daily_sales.sql and then print the content of the file exactly as:
SELECT * FROM raw_sales;
dbt
Need a hint?

Use two print statements: one for the path, one for the SQL content.