Objectifs de la formation
- Comprendre l'architecture et les composants d'Airflow pour orchestrer des workflows de données.
- Installer, configurer et démarrer les services et l'interface d'Airflow.
- Concevoir, implémenter et gérer l'exécution de DAGs dans Airflow.
- Utiliser l'interface utilisateur d'Airflow pour suivre, gérer et exécuter des tâches.
- Planifier et gérer l'ordonnancement des tâches dans Airflow.
- Créer des workflows complexes avec des sous-workflows, la gestion conditionnelle des tâches et des stratégies de gestion d'erreurs.
- Construire un pipeline de traitement de données complet en utilisant Airflow pour extraire, nettoyer, transformer et charger des données réelles dans une base de données.
- Mettre en œuvre les bonnes pratiques pour optimiser les performances et la fiabilité des workflows dans Airflow.
Programme de la formation
Présentation d'Airflow et de son architecture
- Présentation des composants
- Serveur Web
- Scheduler
- Worker
- Database
- Exécuteurs
Installation et configuration d'Airflow
- Être en mesure d'installer et de configurer airflow et de démarrer les services et l'interface
- Déploiement via Docker / Docker Compose.
- Initialisation de l'environnement
- Création des répertoires nécessaires (dags,logs, plugins
- Configuration des modules
- Initialisation d'Airflow
- Variables d'environnement :
- Services : Postgres, Redis, Webserver, Scheduler, Worker, Triggerer, CLI, Flower, Celery
- Volumes : postgres-db-volume
Travaux pratiques
Installer et configurer Airflow via Docker
Création et exécution d'un DAG
- Concevoir, implémenter et gérer l'exécution d'un DAG dans Airflow, en maîtrisant toutes les étapes, de la rédaction du code à la surveillance de l'exécution :
- Rédaction du Code Python du DAG
- Import des modules
- Création du DAG avec nom, type de planification
- Ajout des tâches et définition des dépendances
- Enregistrement / Chargement du DAG
- Validation avec validate
- Lancement avec trigger_dag
- Vérification de l'exécution dans l'interface
- Contrôle de la bonne exécution avec les journaux d'exécution
- Suivi des exécutions de DAG avec DAG Runs
Travaux pratiques
Rédiger un script Python pour un DAG qui automatise une tâche simple, l'ajouter à Airflow, définir ses dépendances, lancer et surveiller son exécution.
Prise en main de l'interface utilisateur
- Se familiariser avec les différentes vues de l'interface utilisateur d'Airflow pour le suivi et la gestion des DAGs, des jeux de données, et l'exécution des tâches.
- DAG View
- Dataset View
- Grid View
- Graph View
- Variable View
- Gantt View
- Task Duration
- Code View
Travaux pratiques
Naviguer dans l'interface d'Airflow et identifier le rôle de chaque vue
Gestion des opérateurs
- Planifier et gérer l'ordonnancement des tâches dans Airflow
- Tâches de base avec BaseOperator
- Tâches Bash/Shell avec BashOperator
- Script Python avec PythonOperator
- Commandes SQL avec SqlOperator
- Envoi d'emails avec EmailOperator
- Déclenchement DAG avec TriggerDagRunOperator
- Gestion de fichiers avec FileOperators
- Tâches d'attente avec SensorOperators
- Gestion d'événements avec EventOperators.
Travaux pratiques
Créer un DAG dans Airflow qui utilise le BashOperator pour télécharger des données depuis une source externe et le PythonOperator pour les traiter et les stocker dans une base de données.
Intégration de bases de données externes dans les DAGs
- Être en mesure de configurer et utiliser des bases de données externes dans Airflow
- Configuration de l'intégration des bases de données externes dans les DAGs
- Définition des connexions à la base de données externe
- connexions dans les tâches du DAG via des opérateurs (SqliteOperator ou PostgresOperator)
- Paramétrage des requêtes SQL pour extraire ou mettre à jour les données
- Utilisation de variables pour stocker les identifiants de connexion
Travaux pratiques
Configurer une connexion à une base de données externe dans Airflow et écrire un DAG qui utilise SqliteOperator ou PostgresOperator pour exécuter une requête SQL simple