Modele ierarhice în dbt

Introducere în dbt

Mike Metzger

Data Engineer

Ce este o ierarhie în dbt?

  • Reprezintă dependențele dintr-un proiect dbt
  • Cunoscut și ca graf aciclic direcționat (DAG) sau graf de liniarit
    • Specific dbt, nu un DAG general
  • Permite construirea/actualizarea modelelor conform dependențelor

Graf DAG / de liniaritate dbt

Introducere în dbt

Detalii despre ierarhie

  • avg_fare_per_day și total_creditcard_riders_per_day depind de taxi_rides_raw
  • dbt construiește mai întâi taxi_rides_raw
  • Fără graf de liniaritate, dbt creează intrările alfabetic
    • avg_fare_per_day ar eșua fără taxi_rides_raw

Graf DAG / de liniaritate dbt

Introducere în dbt

Cum se definesc ierarhiile?

  • Definite prin limbajul de șabloane Jinja în fișierul/fișierele model
  • Cel mai adesea cu funcția ref
  • Înlocuiți numele tabelului cu {{ ref('model_name') }} în SQL
  • (Re-)materializați tabelul cu dbt run
  • Șabloanele ref sunt înlocuite cu numele reale ale tabelelor
Introducere în dbt

Exemplu de ierarhie

SELECT 
  first_name, last_name
FROM taxi_rides_raw
SELECT 
  first_name, last_name
FROM {{ ref('taxi_rides_raw') }}
Introducere în dbt

Să exersăm!

Introducere în dbt

Preparing Video For Download...