Bird
0
0

You want to optimize a large BigQuery table for queries filtering on country and event_date. Which dbt config best applies warehouse-specific optimizations?

hard🚀 Application Q8 of 15
dbt - Performance Optimization
You want to optimize a large BigQuery table for queries filtering on country and event_date. Which dbt config best applies warehouse-specific optimizations?
Aconfig(materialized='table', partition_by={'field': 'country', 'data_type': 'string'})
Bconfig(materialized='incremental', cluster_by=['event_date', 'country'])
Cconfig(materialized='table', partition_by={'field': 'event_date', 'data_type': 'date'}, cluster_by=['country'])
Dconfig(materialized='view', cluster_by=['country', 'event_date'])
Step-by-Step Solution
Solution:
  1. Step 1: Choose partitioning column

    Partitioning by event_date (a date) is ideal for time-based filtering in BigQuery.
  2. Step 2: Choose clustering column

    Clustering by country groups data to speed up queries filtering by country.
  3. Step 3: Verify materialization

    Materializing as a table supports partitioning and clustering.
  4. Final Answer:

    config(materialized='table', partition_by={'field': 'event_date', 'data_type': 'date'}, cluster_by=['country']) -> Option C
  5. Quick Check:

    Partition by date + cluster by country for BigQuery [OK]
Quick Trick: Partition by date, cluster by country for BigQuery tables [OK]
Common Mistakes:
MISTAKES
  • Partitioning by string column instead of date
  • Using incremental materialization without partitioning
  • Trying to cluster views which is unsupported

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More dbt Quizzes