Data Analytics

dbt - Fonctionnalités avancées

Macros Jinja, tests custom, packages, hooks, snapshots, incremental models, orchestration CI/CD

20 questions d'entretien·
Senior
1

Quelle est la différence entre une macro et un modèle dans dbt ?

Réponse

Une macro est un bloc de code Jinja réutilisable qui génère du SQL dynamiquement, tandis qu'un modèle est un fichier SQL qui produit une table ou vue dans le data warehouse. Les macros permettent de factoriser du code répétitif et de créer des fonctions personnalisées, alors que les modèles définissent la structure des données transformées.

2

Comment déclarer une macro personnalisée dans dbt ?

Réponse

Une macro dbt se déclare dans un fichier .sql du dossier macros/ en utilisant les balises Jinja macro et endmacro. Le nom de la macro est défini dans la balise macro, et elle peut accepter des paramètres. La macro est ensuite appelable dans les modèles via la syntaxe Jinja double accolades.

3

Quel est l'intérêt principal des incremental models dans dbt ?

Réponse

Les incremental models permettent de ne traiter que les nouvelles données ou les données modifiées depuis la dernière exécution, au lieu de reconstruire la table entière. Cela réduit considérablement le temps d'exécution et les coûts de compute pour les tables volumineuses, tout en maintenant les données à jour.

4

Quelle configuration est requise pour définir un incremental model dans dbt ?

5

À quoi sert la stratégie merge dans un incremental model dbt ?

+17 questions d'entretien

Maîtrise Data Analytics pour ton prochain entretien

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

Commencer gratuitement