Jinja-Vorlagen

Einführung in dbt

Mike Metzger

Data Engineer

Was ist eine Vorlage?

  • Ein definiertes Format, welches über Platzhalter das Einsetzen von Informationen ermöglicht
  • Oft eine .txt – Textdatei
  • Vereinfacht den Zugriff und die Wiederverwendung
Einführung in dbt

Was ist Jinja?

  • Einfache textbasierte Vorlagensprache
  • Wird in vielen anderen Tools verwendet
  • {{ ... }} impliziert eine Ersetzung in der Vorlage
  • dbt verfügt über viele Jinja-Funktionen, die in Projekten verwendet werden können
  • Ermöglicht eine dynamischere Nutzung von dbt
  • Schleifen vereinfachen den Code
Einführung in dbt

dbt Jinja-Funktionen

  • Einige der vielen verfügbaren Jinja-Funktionen
    • ref: Modelle per Name aufrufen
    • config: Konfigurationseinstellungen aufrufen
    • docs: Dokumentationsinformationen aufrufen
    • Berechnungen, Schleifen usw.
Einführung in dbt

Jinja-Beispiel

  • Ohne 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
    
  • Mit Jinja
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
Einführung in dbt

Probier es aus!

Einführung in dbt

Preparing Video For Download...