dbt Flashcards

๐Ÿงฑ dbt (Data Build Tool) Flashcards
โš™๏ธ What is dbt?
dbt (Data Build Tool) is an open-source tool that enables data analysts and engineers to transform data in their warehouse using SQL and version control.

๐Ÿง  What language is dbt written in?
dbt is built using Python, and transformations are written in SQL with Jinja templating.

๐Ÿ—๏ธ What are dbt models?
Models are SQL files that define transformations. Each model is a SELECT statement materialized into a table or view.

๐Ÿ” What is materialization in dbt?
Materializations define how dbt persists models โ€” as views, tables, incremental tables, or ephemeral (temporary) tables.

๐Ÿงช What are tests in dbt?
Tests validate your data’s quality โ€” checking for nulls, uniqueness, referential integrity, and custom assertions.

๐Ÿ“ฆ What is a dbt project?
A dbt project is a structured folder with model SQL files, test files, macros, and a `dbt_project.yml` configuration file.

๐Ÿ“œ What is a dbt run?
`dbt run` executes your transformation pipeline by building all models based on dependency DAGs.

๐Ÿ“Š What is dbt DAG?
dbt builds a directed acyclic graph (DAG) of model dependencies to ensure correct execution order.

๐Ÿ” What are sources in dbt?
Sources are raw tables in your warehouse that dbt references in your models, typically prefixed with `source()`.

๐Ÿ’ก What is Jinja in dbt?
Jinja is a templating engine used to add logic (like loops and variables) into SQL code in dbt models.