
dbt - Fonctionnalités avancées
Macros Jinja, tests custom, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD
1Dans dbt, quelle est la fonction principale des macros Jinja ?
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.
2Comment définir une macro dbt réutilisable dans un fichier ?
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.
3Quelle est la différence entre les stratégies 'timestamp' et 'check' pour les snapshots dbt ?
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.
Quelles colonnes sont automatiquement ajoutées par dbt lors de la création d'un snapshot ?
Comment configurer un modèle incremental avec la stratégie 'merge' dans dbt ?
+17 questions d'entretien
Autres sujets d'entretien Data Engineering
Linux & Shell - Fondamentaux
Git & GitHub - Fondamentaux
Python avancé pour le Data Engineering
Docker - Fondamentaux
Google Cloud Platform - Fondamentaux
CI/CD et qualité de code
Docker Compose
FastAPI - APIs de données
SQL avancé pour le Data Engineering
Data Lake - Architecture et ingestion
BigQuery pour le Data Engineering
PostgreSQL - Administration
Data Modeling pour le Data Engineering
Fivetran & Airbyte - Ingestion de données
dbt - Fondamentaux
Apache Airflow - Fondamentaux
Kubernetes - Fondamentaux
Patterns ETL / ELT / ETLT
Apache Airflow - Avancé
Airflow + dbt - Orchestration de pipelines
PySpark - Traitement à grande échelle
Google Pub/Sub - Streaming de données
Apache Beam & Dataflow
Kubernetes - Production et scaling
Terraform - Infrastructure as Code
Bases de données NoSQL
Architecture Data moderne
Monitoring et observabilité
IAM et sécurité des données
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