Szablony Jinja

Wprowadzenie do dbt

Mike Metzger

Data Engineer

Czym jest szablon?

  • Zdefiniowany format umożliwiający podstawianie informacji
  • Zazwyczaj plik tekstowy
  • Upraszcza dostęp i ponowne użycie
Wprowadzenie do dbt

Czym jest Jinja?

  • Prosty tekstowy język szablonów
  • Używany w wielu narzędziach poza dbt
  • {{ ... }} oznacza podstawienie szablonu
  • dbt udostępnia wiele funkcji Jinja do użycia w projektach
  • Umożliwia bardziej dynamiczne korzystanie z dbt
  • Pozwala używać pętli do upraszczania kodu
Wprowadzenie do dbt

Funkcje Jinja w dbt

  • Wybrane funkcje Jinja dostępne w dbt
    • ref: dostęp do modeli po nazwie
    • config: dostęp do ustawień konfiguracji
    • docs: dostęp do informacji dokumentacyjnych
    • Obliczenia, pętle itp.
Wprowadzenie do dbt

Przykład użycia 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
    
  • Z Jinja
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
Wprowadzenie do dbt

Czas na ćwiczenia!

Wprowadzenie do dbt

Preparing Video For Download...