Big Data

Construire et orchestrer vos pipelines ELT avec DBT et Airflow

Objectifs de la formation

  • Comprendre le rôle de dbt et d’Apache Airflow dans le modern data stack.
  • Créer et structurer un projet dbt complet, incluant modèles, tests et documentation.
  • Mettre en place des pipelines de données automatisés et reproductibles.
  • Orchestrer des exécutions dbt avec Apache Airflow et intégrer des workflows complexes.
  • Gérer le déploiement, la surveillance et l’automatisation des pipelines en production.


Programme de la formation

Introduction au modern data stack et découverte de dbt

  • Comprendre le contexte : passage de l’ETL à l’ELT, rôle du data warehouse et du cloud.
  • Présentation du modern data stack (Airbyte, dbt, Airflow, Snowflake, BigQuery, etc.).
  • Introduction à dbt (Data Build Tool) : philosophie, positionnement, fonctionnement, architecture medaillon
  • dbt Core vs dbt Cloud : différences et cas d’usage.
  • Architecture d’un projet dbt : fichiers dbt_project.yml, profiles.yml, organisation des dossiers.

Travaux pratiques

Création d’un projet dbt.
Configuration de la connexion à une base de données (PostgreSQL)
Définition des premières sources et création de modèles simples.



Structuration et bonnes pratiques de développement dbt

  • Les modèles dans dbt : tables, vues, modèles éphémères et incrémentaux.
  • Gestion des dépendances entre modèles : le graphe DAG de dbt.
  • Les matérialisations (table, view, ephemeral, incremental) : choix et implications.
  • Les macros et Jinja : introduction à la templatisation et à la factorisation du code.
  • Hooks et configurations avancées (pré- et post-hooks).
  • Optimisation des performances et bonnes pratiques de structuration de projet.

Travaux pratiques

Création de plusieurs modèles en couches (bronze, silver, gold).

Utilisation de seeds pour injecter des données de référence.

Ajout de macros et automatisation de transformations répétitives.


Qualité, documentation et collaboration avec dbt

  • Les tests dans dbt : tests intégrés (unique, not null, relationships) et tests personnalisés.
  • Création de snapshots pour suivre les évolutions des données dans le temps.
  • Génération de la documentation automatique et visualisation du lineage des modèles.
  • Gestion des packages et librairies externes (dbt_utils, codegen, audit_helper, etc.).
  • Bonnes pratiques pour le travail collaboratif : versioning, branches, CI/CD, review de modèles.

Travaux pratiques

Ajout de tests de données et de schéma.
Création d’un snapshot pour suivre des changements.
Génération et exploration d’une documentation interactive dbt.



Découverte d’Apache Airflow

  • Présentation d’Apache Airflow : rôle et positionnement dans l’écosystème data.
  • Concepts clés : DAG, Task, Operator, Sensor, Scheduler, Executor.
  • Architecture d’Airflow : Webserver, Scheduler, Worker, Metadata DB.
  • Installation et configuration d’Airflow (via Docker ou localement).
  • Survol des interfaces (UI, logs, monitoring).
  • Création de premiers DAGs et opérateurs simples.

Travaux pratiques

Installation d’Airflow via Docker Compose.
Création d’un DAG basique avec des tâches Python et Bash.
Planification et exécution automatique de tâches.



Intégration entre Airflow et dbt

  • Comment exécuter dbt dans Airflow : opérateurs dédiés, BashOperator, DbtRunOperator, etc.
  • Gestion des dépendances entre modèles dbt et autres tâches Airflow.
  • Gestion des erreurs, retries, SLA et notifications.
  • Introduction à la CI/CD pour dbt : automatisation des tests, linting, déploiements.
  • Intégration avec GitHub Actions, GitLab CI ou Jenkins.

Travaux pratiques

Création d’un DAG Airflow déclenchant un pipeline dbt complet.
Ajout d’une étape de test et de documentation automatique.
Mise en place d’alertes par email ou Slack en cas d’échec.


Airflow en production et cas d’usage avancés

  • Déploiement d’Airflow en production : choix d’executor (Local, Celery, Kubernetes).
  • Gestion de la sécurité, des connexions et des credentials (Airflow Connections, Variables, Secrets Backend).
  • Monitoring, logs et observabilité : Airflow UI, logs distants, intégration avec Prometheus / Grafana.
  • Stratégies de scaling, haute disponibilité et maintenance.
  • Exemples de workflows avancés : dépendances externes, déclencheurs, pipelines multi-projets, data quality checks automatisés.

Travaux pratiques

Simulation d’un échec de pipeline et mise en place d’un système d’alerte.
Mise en place d’un workflow orchestrant un pipeline complet (extraction, transformation dbt, validation, reporting).

Please login to get access to the quiz
Apache Airflow, fonctionnalités avancées (Prev Lesson)
Back to Big Data
Public

Ingénieurs de données, Data Analysts, Analytics Engineers, Chefs de projet data, ou toute personne souhaitant concevoir, automatiser et orchestrer des pipelines de données modernes.

Pré-requis

Connaissance de base en SQL et en Python, Connaissances de Docker recommandées