Développement logiciel
Pipelines de données Python avec Apache Airflow
Les tâches cron et les scripts lancés à la main cessent de tenir dès qu'un chargement dépend d'un autre. Cette formation aborde Airflow comme une discipline d'orchestration : écriture de DAG, tâches idempotentes, intervalles de données et backfills, capteurs, politique de reprise et de SLA, tests et exploitation d'un scheduler fiable.
Aperçu
Un apprentissage pratique pour le transfert en situation de travail.
Le problème d'un pipeline n'est presque jamais une transformation manquante. C'est l'échec de trois heures du matin que personne ne voit avant que le rapport soit vide, la reprise qui double les chiffres parce que la tâche ajoute au lieu de remplacer, et l'historique impossible à retraiter parce que le code suppose la date du jour. Airflow ne règle ces situations que si les DAG sont écrits pour cela. Cette formation installe cette habitude : chaque tâche est rendue idempotente vis-à-vis de son intervalle de données, les dépendances sont déclarées, les opérateurs différables remplacent les boucles d'attente et les politiques de reprise et d'alerte sont définies par tâche.
Prérequis
Programmation Python solide, familiarité avec SQL et notions de ligne de commande et de conteneurs.
Objectifs
- Expliquer l'interaction entre scheduler, executor et base de métadonnées Airflow.
- Écrire des DAG lisibles avec l'API TaskFlow, les décorateurs et les task groups.
- Concevoir des tâches idempotentes donnant le même résultat à chaque reprise ou backfill.
- Coordonner les dépendances inter-DAG et externes via capteurs et opérateurs différables.
- Configurer reprises, timeouts, SLA et alertes pour détecter les échecs avant les utilisateurs.
- Tester, versionner et déployer les DAG via un processus de promotion contrôlé.
Public cible
- Ingénieurs data construisant et exploitant des pipelines batch
- Développeurs ETL migrant depuis cron, scripts shell ou ordonnanceurs historiques
- Analytics engineers responsables de la fiabilité des rafraîchissements d'entrepôt
- Ingénieurs plateforme et DevOps hébergeant et dimensionnant un déploiement Airflow
- Ingénieurs ML planifiant génération de features et réentraînements
- Responsables techniques définissant les standards de fiabilité et d'astreinte
Programme
Une structure claire pour le parcours d'apprentissage.
Programme
Les points du programme sont regroupés dans un seul bloc au lieu de créer un module par ligne.
Module 1 : Architecture d'Airflow et modèle d'ordonnancement
Scheduler, webserver, workers, base de métadonnées et boucle de parsing des DAG
Critères de choix entre LocalExecutor, CeleryExecutor et KubernetesExecutor
Date logique, intervalle de données et catchup : source de la plupart des confusions
Pools, poids de priorité et limites de concurrence au niveau DAG et tâche
Module 2 : Écrire des DAG en Python
Décorateurs TaskFlow ou opérateurs classiques : lequel est le plus lisible
PythonOperator, BashOperator, opérateurs SQL et packages providers
Transmettre des données via XCom et savoir quand passer une référence
Task groups, mapping dynamique et génération de DAG depuis une configuration
Module 3 : Idempotence, backfills et retraitement
Écrire des tâches qui remplacent une partition au lieu d'ajouter à une table
Injecter l'intervalle de données dans chemins, filtres et prédicats SQL
Exécuter un backfill maîtrisé sans saturer le système source
Données tardives, purge d'instances de tâches et reprises partielles sûres
Module 4 : Dépendances, capteurs et systèmes externes
Connections, hooks et exclusion des identifiants du code source des DAG
Capteurs fichier, table et API et le coût en slots des sondages
Opérateurs différables et triggerer pour les longues attentes sans occuper de slot
Coordination inter-DAG via datasets, ExternalTaskSensor et TriggerDagRun
Module 5 : Fiabilité, alertes et tests
Nombre de reprises, backoff exponentiel, timeouts d'exécution et coupe-circuit
Manquements de SLA, callbacks et routage des alertes vers l'équipe compétente
Contrôles qualité comme tâches à part entière stoppant un chargement défectueux
Tests unitaires d'intégrité des DAG, de logique d'opérateur et de templates en CI
Module 6 : Déploiement, environnements et exploitation
Exécuter Airflow via Docker Compose, Helm ou un service managé
Distribution des DAG, isolation des dépendances et fin du requirements partagé
Promouvoir les DAG du développement au staging puis à la production sous versionnage
Métriques de santé du scheduler, tendances de durée des tâches et capacité
Supports fournis
- Manuel de formation, exemples de code commentés et notes de référence
- Environnement de laboratoire et dépôts de démarrage
- Exercices, check-lists et modèles de code réutilisables
- Certificat de participation 4D
- Accompagnement technique après la formation
Options de formation
Les programmes peuvent être organisés en entreprise, en ligne ou dans un format hybride selon le calendrier, la localisation et les objectifs de vos équipes. Lorsqu'un certificat ou un examen externe est inclus, les règles et frais de certification restent soumis aux politiques de l'organisme certificateur, tandis que 4D assure la formation et l'accompagnement à la préparation.
Pourquoi choisir 4D
4D cartographie votre ordonnancement existant avant d'écrire le moindre DAG : entrées cron, scripts shell, chargement lancé à la main chaque dimanche, puis convertit le plus fragile d'entre eux pendant l'atelier. Les formateurs travaillent avec les ingénieurs d'astreinte, afin que les politiques de reprise, de SLA et de routage d'alertes validées en séance correspondent à ceux qui interviennent réellement la nuit.
Formations liées
Fondamentaux de la programmation Python
Une introduction pratique à Python pour les ingénieurs et analystes qui ont besoin de code opérationnel plutôt que d'extraits de tutoriel. Les participants acquièrent de l'aisance avec les types, les collections, les fonctions, les fichiers et la gestion des erreurs, puis construisent un programme complet.
View coursePython intermédiaire et pratiques de code propre
Conçue pour les développeurs dont le code Python fonctionne mais résiste au changement. Le programme couvre dataclasses, générateurs, décorateurs, gestionnaires de contexte et annotations de types, puis applique les refactorings qui transforment un module interminable en unités testées contrôlées par black, ruff et mypy.
View courseAutomatisation et scripting Python pour les tâches métier
Destinée aux équipes qui perdent chaque semaine des heures en manipulations de fichiers, de tableurs et de rapports. Les participants automatisent ces tâches avec Python : traitement de fichiers en lot, Excel et CSV, appels d'API REST, alertes par e-mail et tâches planifiées qui signalent clairement toute défaillance.
View course