Modèles Jinja

Introduction à dbt

Mike Metzger

Data Engineer

Qu'est-ce qu'un modèle ?

  • Format défini permettant de remplacer de l'information
  • Souvent un fichier texte
  • Simplifie l'accès et la réutilisation
Introduction à dbt

Qu'est-ce que Jinja ?

  • Langage de gabarits simple, basé sur du texte
  • Utilisé dans de nombreux outils, pas seulement dbt
  • {{ ... }} représente une substitution de gabarit
  • dbt offre de nombreuses fonctions Jinja pour les projets
  • Permet un usage plus dynamique de dbt
  • Les boucles for aident à simplifier le code
Introduction à dbt

Fonctions Jinja dans dbt

  • Quelques-unes des nombreuses fonctions Jinja offertes
    • ref : accéder aux modèles par nom
    • config : accéder aux paramètres de configuration
    • docs : accéder à la documentation
    • Calculs, boucles, etc.
Introduction à dbt

Exemple Jinja

  • Sans 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
    
  • Avec Jinja
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
Introduction à dbt

Passons à la pratique !

Introduction à dbt

Preparing Video For Download...