Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Generating documentation site
📖 Scenario: You are working on a data analytics project using dbt (data build tool). To help your team understand the data models and transformations, you want to create a documentation website that shows the details of your dbt models.
🎯 Goal: Build a dbt project that generates a documentation site using the dbt docs generate command and then serves it locally with dbt docs serve.
📋 What You'll Learn
Create a basic dbt project with a sample model
Configure the project with a profile
Run dbt docs generate to create the documentation site
Run dbt docs serve to view the documentation site locally
💡 Why This Matters
🌍 Real World
Generating documentation sites helps data teams understand data models, lineage, and transformations clearly, improving collaboration and trust in data.
💼 Career
Data analysts, engineers, and scientists use dbt documentation sites to communicate data workflows and ensure data quality in their projects.
Progress0 / 4 steps
1
Create a basic dbt project with a sample model
Create a dbt project folder named my_dbt_project and inside it create a model file models/sample_model.sql with the exact SQL query: select 1 as id, 'example' as name.
dbt
Hint
Make sure the SQL query is exactly select 1 as id, 'example' as name inside the file models/sample_model.sql.
2
Configure the dbt project with a profile
Inside the my_dbt_project folder, create a dbt_project.yml file with the project name my_dbt_project and set the version to 1.0. Also, create a profiles.yml file in the default location with a profile named my_profile that connects to a local database (you can use a placeholder connection).
dbt
Hint
Ensure the dbt_project.yml has the correct project name and profile. The profiles.yml should define a profile named my_profile with connection details.
3
Generate the documentation site using dbt
Run the command dbt docs generate inside the my_dbt_project folder to generate the documentation site files.
dbt
Hint
Use the terminal to run dbt docs generate inside the project folder.
4
Serve and view the documentation site locally
Run the command dbt docs serve inside the my_dbt_project folder to start a local web server. Then open the URL shown in the terminal (usually http://localhost:8080) in your web browser to view the documentation site.
dbt
Hint
Run dbt docs serve and open the URL shown in the terminal to see the documentation site.
Practice
(1/5)
1. What does the command dbt docs generate do in a dbt project?
easy
A. It deletes old documentation files from your project folder.
B. It runs all your data transformations and loads data into the warehouse.
C. It starts a local server to view your documentation site.
D. It creates a website with documentation for your data models and sources.
Solution
Step 1: Understand the purpose of dbt docs generate
This command builds the documentation files for your dbt project, including models and sources.
Step 2: Differentiate from other commands
Unlike dbt run which runs transformations or dbt docs serve which serves the docs, dbt docs generate only creates the documentation files.
Final Answer:
It creates a website with documentation for your data models and sources. -> Option D
Quick Check:
dbt docs generate builds docs [OK]
Hint: Generate docs builds files; serve shows them [OK]
Common Mistakes:
Confusing generate with run or serve commands
Thinking it runs data transformations
Assuming it deletes files
2. Which of the following is the correct command to view the generated documentation site locally?
easy
A. dbt docs view
B. dbt docs generate
C. dbt docs serve
D. dbt docs start
Solution
Step 1: Identify the command to serve docs
The command dbt docs serve starts a local web server to view the generated documentation site.
Step 2: Confirm other options are incorrect
dbt docs generate only creates docs files, while dbt docs view and dbt docs start are not valid dbt commands.
Final Answer:
dbt docs serve -> Option C
Quick Check:
Serve command shows docs locally [OK]
Hint: Serve command launches docs site locally [OK]
Common Mistakes:
Using generate instead of serve to view docs
Typing invalid commands like docs view or docs start
Confusing generate and serve commands
3. Given the following commands run in order:
dbt docs generate
dbt docs serve
What will happen after running these commands?
medium
A. The documentation site is created and then opened in a local web browser.
B. The data models are rebuilt and the docs site is deleted.
C. Only the documentation files are created but not viewable.
D. An error occurs because docs serve must run before docs generate.
Solution
Step 1: Understand the effect of dbt docs generate
This command creates the documentation files needed for the docs site.
Step 2: Understand the effect of dbt docs serve
This command starts a local server and opens the docs site in a browser using the generated files.
Final Answer:
The documentation site is created and then opened in a local web browser. -> Option A
Quick Check:
Generate then serve shows docs [OK]
Hint: Generate first, then serve to view docs [OK]
Common Mistakes:
Thinking docs serve deletes docs
Believing docs serve must run before generate
Assuming docs generate runs data models
4. You ran dbt docs serve but the documentation site does not open in your browser. What is the most likely cause?
medium
A. You need to run dbt run before serving docs.
B. You forgot to run dbt docs generate first to create the docs files.
C. The dbt docs serve command requires an internet connection.
D. Your dbt project has no models defined.
Solution
Step 1: Check prerequisites for serving docs
The dbt docs serve command needs the documentation files created by dbt docs generate.
Step 2: Identify missing step
If dbt docs generate was not run, the docs files don't exist, so the site won't open.
Final Answer:
You forgot to run dbt docs generate first to create the docs files. -> Option B
Quick Check:
Generate docs before serving [OK]
Hint: Always generate docs before serving [OK]
Common Mistakes:
Assuming docs serve works without generated files
Thinking internet is required for docs serve
Believing dbt run affects docs serving
5. You want to share your dbt project's documentation site with your team without running dbt docs serve locally. Which approach is best?
hard
A. Generate the docs with dbt docs generate and upload the generated files to a web server.
B. Run dbt docs serve and share your local IP address with the team.
C. Send your team the dbt_project.yml file to generate docs themselves.
D. Use dbt run to automatically publish docs online.
Solution
Step 1: Understand how docs are generated and shared
dbt docs generate creates static documentation files that can be hosted anywhere.
Step 2: Identify best way to share without local serving
Uploading generated docs to a web server allows team members to access the docs anytime without running commands locally.
Final Answer:
Generate the docs with dbt docs generate and upload the generated files to a web server. -> Option A
Quick Check:
Upload generated docs for team access [OK]
Hint: Upload generated docs files to share site [OK]