DBT Snapshots & Incremental Models Flashcards
6 cards from real DBT practice questions. Tap to flip, then mark Knew It or Still Learning โ missed cards come back until you master them.
Read the first 6 DBT Snapshots & Incremental Models flashcards as text
What value does dbt store in `dbt_valid_to` for the currently active snapshot row?
Answer: NULL
An open-ended (current) snapshot row has `dbt_valid_to = NULL`, indicating the record is still active.
Which materialization causes dbt to append only new or changed rows instead of rebuilding the whole table?
Answer: incremental
The `incremental` materialization adds or updates only rows that are new since the last run, making large-table processing efficient.
What block in an incremental model filters the source data to only new records?
Answer: {% if is_incremental() %}
`{% if is_incremental() %}` is a dbt Jinja macro that returns true only when the model is running in incremental mode (not full-refresh), allowing you to add a WHERE clause.
What does `dbt run --full-refresh` do to an incremental model?
Answer: Rebuilds the table from scratch, ignoring the existing data
`--full-refresh` drops and recreates an incremental model's table from the ground up, equivalent to the initial build.
Which incremental `strategy` is recommended for Snowflake and BigQuery to efficiently update existing rows?
Answer: merge
The `merge` strategy uses a SQL MERGE statement to upsert rows, updating existing records and inserting new ones in a single pass.
What config key specifies the column(s) used to match existing rows in an incremental merge strategy?
Answer: unique_key
`unique_key` tells dbt which column(s) to use as the join condition when merging new rows into the existing incremental table.
How this page was made: written with AI tools. We have not yet matched this exam's facts to an official source, so confirm fees, dates and rules with the exam body. Not reviewed by a subject-matter expert. Editorial policy