DBT Certificate Study Guide
DBT Certificate Study Guide
DBT Certificate Study Guide
The exam overview will provide high-level details on the format of the exam. We recommend
being mindful of the number of questions and time constraints.
The topic outline will provide a clear list of the topics that are assessed on the exam. dbt
subject matter experts used this topic outline to write and meticulously review all of the exam
items that you will find on the exam.
The sample exam questions provide examples of some of the formats to expect for the
exam. The types of questions you can expect on the exam include
• Multiple-choice
• Fill-in-the-blank
• Matching
• Hotspot
• Build list
• Discrete Option Multiple Choice (DOMC)
The learning path will walk you through a suggested series of courses, readings, and
documentation. We will also provide some guidance for the types of experience to build
while using dbt on a real-world project.
Finally, the additional resources section will provide additional places to continue your
learning.
We recommend that you have at least SQL proficiency and have had 6+ months of experience
working in dbt (Core or Cloud) before attempting the exam.
Logistics
Please see the exam website for details on scheduling, retake policy, and other exam
policies.
Explanation: In this question, you are presented with a YAML file showing a source definition.
The answer choices test your knowledge of source configurations. In the first drop-down,
you’re presented with event_ticket and ticket_tailor as options. While dbt does use the source
name: field by default, if you define an explicit schema in the file, it will use that value instead.
That is why ticket_tailor is the correct answer.
In the second drop-down, you’re presented with tickets and issued_tickets as possible
answer choices. The identifier parameter lets you specify the name of the table as it is named
in the database. That is why issued_tickets is the correct choice here.
Explanation: dbt run --select model_d+ is the correct answer because model_d was the
model that failed in the previous run and its downstream models would have been skipped
previously. By selecting only model_d and its downstream dependencies (children), we are
able to rebuild only the models that failed in the last run.
Explanation: When referencing a doc block in a YAML file for the description of a model, it is
important to reference the name of the actual macro rather than the name of the markdown
file.
So the correct answer is “The doc function can be used to reference the name of a doc macro
to be used in a description.”
Checkpoint 0 - Prerequisites
dbt is a tool that brings together several different technical skills in one place. We
recommend starting this path after you’ve developed foundational git and SQL skills.
For SQL, the exam expects familiarity with joins, aggregations, common table expressions
(CTEs), and window functions.
For git, the exam expects familiarity with branching strategies (including development vs
main branches), basic git commands, and pull requests.
● Courses:
• Jinja, Macros, and Packages
• Advanced Materializations
• Analyses and Seeds
● Documentation:
• Exposures
• Env_var
• Target
• Schema
• Database
● Experience
○ Utilizing packages and macros in a dbt project
○ Implementing all core materializations into a dbt project
○ Implementing seeds
● Commands:
○ dbt snapshot
○ dbt seed