Data Engineering

dbt - Fonctionnalités avancées

Macros Jinja, tests custom, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 questions d'entretien·
Senior
1

Dans dbt, quelle est la fonction principale des macros Jinja ?

Réponse

Les macros Jinja permettent de réutiliser du code SQL dans plusieurs modèles dbt. Elles fonctionnent comme des fonctions qui acceptent des paramètres et retournent du code SQL généré dynamiquement. Cela évite la duplication de code et facilite la maintenance des transformations complexes à travers le projet.

2

Comment définir une macro dbt réutilisable dans un fichier ?

Réponse

Une macro dbt se définit avec la syntaxe Jinja macro/endmacro dans un fichier .sql du dossier macros. Le nom de la macro est spécifié après le mot-clé macro, suivi des paramètres entre parenthèses. Cette macro peut ensuite être appelée depuis n'importe quel modèle du projet.

3

Quelle est la différence entre les stratégies 'timestamp' et 'check' pour les snapshots dbt ?

Réponse

La stratégie timestamp compare une colonne de date de mise à jour (updated_at) pour détecter les changements, ce qui est plus performant car elle ne compare qu'une seule colonne. La stratégie check compare les valeurs de colonnes spécifiées (check_cols) pour détecter tout changement, utile quand il n'y a pas de colonne de timestamp fiable.

4

Quelles colonnes sont automatiquement ajoutées par dbt lors de la création d'un snapshot ?

5

Comment configurer un modèle incremental avec la stratégie 'merge' dans dbt ?

+17 questions d'entretien

Maîtrise Data Engineering pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement