Orchestrer des pipelines de données avec Apache Airflow

Orchestrer des pipelines avec Airflow est un cours de niveau avancé de 5 leçons (environ 1 h 40), avec 17 exercices et 15 questions de quiz. Prérequis : Transformer les données avec dbt, Python intermédiaire (fonctions, modules, POO). Le cours demande un environnement de projet complet, prévu dans une phase ultérieure de la plateforme.

  • Data engineering
  • Avancé
  • 5 leçons
  • 1 h 40
  • 17 exercices
  • Environnement de projet complet (phase 2)

Le cours en bref

Ce cours vous apprend à transformer des scripts isolés en pipelines fiables orchestrés par Apache Airflow 3. Vous écrivez des DAG avec TaskFlow, maîtrisez dates logiques, rattrapage et backfill, rendez vos tâches idempotentes et résistantes aux pannes, attendez des données externes avec des capteurs et des assets, puis testez, surveillez et déployez vos DAG. Les exercices en Python pur reproduisent les mécanismes du planificateur pour que vous les compreniez en profondeur.

Ce que tu sauras faire

  • Écrire un DAG Airflow 3 avec TaskFlow et des opérateurs, et prévoir son ordre d'exécution
  • Planifier un DAG et exploiter date logique, intervalle de données, catchup et backfill
  • Rendre un pipeline robuste avec reprises, délais, idempotence et règles de déclenchement
  • Attendre des données externes avec des capteurs et enchaîner des DAG par les assets
  • Tester, surveiller et déployer des DAG en gérant correctement connexions et secrets

Programme des 5 leçons

  1. 01

    DAG, tâches et dépendances

    20 minAperçu gratuit
    • Expliquer ce qu'apporte un orchestrateur par rapport à une simple tâche cron
    • Écrire un DAG Airflow 3 avec l'API TaskFlow et des opérateurs classiques
    • Déclarer des dépendances et prévoir l'ordre d'exécution des tâches

    DAG (graphe orienté acyclique)API TaskFlowOpérateursDépendances entre tâchesXCom

  2. 02

    Planification, dates logiques et rattrapage

    20 min
    • Configurer la planification d'un DAG avec une expression cron ou un préréglage
    • Distinguer date logique, intervalle de données et moment réel d'exécution
    • Maîtriser catchup et backfill pour retraiter une période passée
    • Utiliser les variables de modèle (templates) pour cibler la bonne partition

    Planification (cron, préréglages)Date logiqueIntervalle de donnéesRattrapage et backfillModèles Jinja

  3. 03

    Reprises, idempotence et règles de déclenchement

    20 min
    • Configurer les reprises automatiques et les délais d'une tâche
    • Concevoir des tâches idempotentes qui peuvent être rejouées sans effet de bord
    • Choisir une règle de déclenchement adaptée (nettoyage, alerte, branche optionnelle)

    Reprises automatiquesIdempotenceRègles de déclenchementCallbacks d'échecDélais d'exécution

  4. 04

    Capteurs et dépendances entre pipelines

    20 min
    • Attendre une condition externe avec un capteur bien configuré
    • Choisir entre les modes poke, reschedule et différé (deferrable)
    • Enchaîner des DAG par les données avec les assets

    CapteursModes poke et rescheduleOpérateurs différésAssets et planification par les données

  5. 05

    Surveillance, tests et déploiement

    20 min
    • Tester des DAG avant leur mise en production
    • Surveiller les exécutions et diagnostiquer un échec à partir des journaux
    • Décrire l'architecture d'Airflow 3 et choisir un mode de déploiement
    • Gérer connexions, variables et secrets sans les écrire dans le code

    Tests de DAGSurveillance et alertesArchitecture et exécuteursConnexions, variables et secretsDéploiement

Projet final

Pipeline quotidien de ventes orchestré et robuste

Concevez un DAG Airflow 3 qui attend le fichier de ventes quotidien d'un partenaire fictif, le nettoie, le charge de façon idempotente dans une table partitionnée par jour, puis publie un asset qui déclenche un second DAG de calcul d'indicateurs. Le pipeline doit supporter un backfill d'un mois sans doublon, alerter en cas d'échec définitif et passer des tests d'intégrité en intégration continue.

Livrables

  • Le dépôt Git avec les deux fichiers de DAG et le module de transformations
  • Les tests pytest : intégrité des DAG et logique de transformation
  • La démonstration d'un backfill sur un mois, avec le nombre de lignes avant et après une seconde exécution
  • Le fichier de déploiement (Docker Compose ou valeurs Helm) et la gestion des connexions sans secret dans le code
  • Une courte note d'exploitation : délais des capteurs, politique de reprises, alertes

Critères d'évaluation

  • Les tâches utilisent la date logique et sont idempotentes (aucun doublon après relance)
  • Les reprises, délais et capteurs sont réglés de façon justifiée (timeout, mode, backoff)
  • Les dépendances entre DAG passent par des assets
  • Les tests d'intégrité et de logique passent en intégration continue
  • Aucun identifiant n'apparaît dans le code ; le déploiement est reproductible

Questions fréquentes

Ce cours porte-t-il sur Airflow 2 ou Airflow 3 ?

Sur Airflow 3. Les différences qui comptent avec Airflow 2 sont signalées : imports depuis airflow.sdk, assets (anciennement datasets), catchup désactivé par défaut, planification cron par déclenchement ponctuel, nouvelle commande de backfill.

Faut-il installer Airflow pour suivre le cours ?

Les exercices de code tournent en Python pur dans le navigateur et reproduisent les mécanismes du planificateur. Les tâches pratiques se font dans un environnement Airflow, par exemple celui fourni par le fichier Docker Compose de la documentation officielle.

Quelle différence entre Airflow et cron ?

cron lance des commandes à heure fixe. Airflow gère en plus les dépendances entre tâches, les reprises, l'historique, le rattrapage de périodes passées, l'attente de données externes et une interface de suivi.

Airflow traite-t-il les données lui-même ?

Non. Airflow orchestre : il déclenche et surveille des tâches qui s'appuient sur d'autres outils (SQL, Spark, dbt, scripts Python). Les gros volumes ne doivent pas transiter par Airflow.

Ce cours, raconté pour ton métier

Dis ce que tu veux savoir faire : « Orchestrer des pipelines avec Airflow » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.

L'aperçu est gratuit, et les cours se suivent un par un sans payer. Le parcours ne contient que des leçons du catalogue.