Modèles Jinja

Introduction à dbt

Mike Metzger

Data Engineer

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

  • Format défini permettant de remplacer des informations
  • Souvent un fichier texte
  • Facilite l’accès et la réutilisation
Introduction à dbt

Qu’est-ce que Jinja ?

  • Langage de modèles simple, basé texte
  • Utilisé dans de nombreux outils, pas seulement dbt
  • {{ ... }} indique une substitution de modèle
  • dbt propose de nombreuses fonctions Jinja pour les projets
  • Rend l’usage de dbt plus dynamique
  • Boucles for pour simplifier le code
Introduction à dbt

Fonctions Jinja de dbt

  • Quelques fonctions Jinja disponibles
    • 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...