Šablony Jinja

Úvod do dbt

Mike Metzger

Data Engineer

Co je šablona?

  • Definovaný formát umožňující substituci informací
  • Obvykle textový soubor
  • Zjednodušuje přístup a opakované použití
Úvod do dbt

Co je Jinja?

  • Jednoduchý textový šablonovací jazyk
  • Používán v mnoha nástrojích, nejen v dbt
  • {{ ... }} označuje substituci v šabloně
  • dbt nabízí mnoho funkcí Jinja pro použití v projektech
  • Umožňuje dynamičtější práci s dbt
  • Lze použít smyčky for pro zjednodušení kódu
Úvod do dbt

Funkce Jinja v dbt

  • Vybrané funkce Jinja dostupné v dbt
    • ref: Přístup k modelům podle názvu
    • config: Přístup ke konfiguračním nastavením
    • docs: Přístup k dokumentaci
    • Výpočty, smyčky atd.
Úvod do dbt

Příklad použití Jinja

  • Bez Jinja
    SELECT
    COALESCE(start_date, '2025-01-01') as start_date,
    COALESCE(update_date, '2025-01-01') as update_date,
    COALESCE(end_date, '2025-01-01') as end_date
    FROM Events
    
  • S Jinja
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
Úvod do dbt

Pojďme si procvičit!

Úvod do dbt

Preparing Video For Download...