Hierarchické modely v dbt

Úvod do dbt

Mike Metzger

Data Engineer

Co je hierarchie v dbt?

  • Reprezentuje závislosti v rámci projektu dbt
  • Také označován jako orientovaný acyklický graf (DAG) nebo lineage graf
    • Specifické pro dbt, nikoli obecný DAG
  • Umožňuje sestavovat / aktualizovat modely podle závislostí

DAG / Lineage graf dbt

Úvod do dbt

Podrobnosti o hierarchii

  • avg_fare_per_day a total_creditcard_riders_per_day závisí na taxi_rides_raw
  • dbt nejprve sestaví taxi_rides_raw
  • Bez lineage grafu vytváří dbt záznamy abecedně
    • avg_fare_per_day by bez taxi_rides_raw selhalo

DAG / Lineage graf dbt

Úvod do dbt

Jak se definují hierarchie?

  • Definovány pomocí šablonovacího jazyka Jinja v souboru modelu
  • Nejčastěji se používá funkce ref
  • Název tabulky nahraďte výrazem {{ ref('model_name') }} v SQL
  • Tabulku (znovu) materializujte pomocí dbt run
  • Šablony ref jsou nahrazeny skutečnými názvy tabulek
Úvod do dbt

Příklad hierarchie

SELECT 
  first_name, last_name
FROM taxi_rides_raw
SELECT 
  first_name, last_name
FROM {{ ref('taxi_rides_raw') }}
Úvod do dbt

Pojďme cvičit!

Úvod do dbt

Preparing Video For Download...