Airflow Command Line Interface

La CLI d’Airflow est un outil incontournable pour les administrateurs et les développeurs. Elle permet d'interagir avec vos DAGs, de gérer vos configurations et de diagnostiquer vos workflows sans passer par l'interface graphique.

L'interface en ligne de commande (CLI) permet d'automatiser des actions de maintenance et de déboguer vos pipelines rapidement. Si vous utilisez Docker, n'oubliez pas d'entrer dans votre conteneur avant d'exécuter ces commandes : docker exec -it <container_name> bash.

Informations et Configuration#

Ces commandes permettent de vérifier l'état de santé de votre installation i.e les détails sur la version d’Airflow, les dépendances installées et la configuration de votre environnement.

Afficher les informations système#

Obtenez des détails sur la version d’Airflow, les chemins des dossiers (DAGS_FOLDER) et la base de données de métadonnées. Affiche tous les paramètres définis dans votre fichier airflow.cfg ou via les variables d'environnement.

airflow info

Afficher les informations sur votre installation#

Utilisez cette commande pour obtenir des détails sur la version d’Airflow, les dépendances installées et la configuration de votre environnement.

airflow config list

Aide-mémoire rapide (Cheat-Sheet)#

Pour une référence rapide des commandes les plus utilisées dans Airflow, le cheat-sheet est une ressource pratique.

airflow cheat-sheet

Gestion des Services#

Bien que gérés par Docker en production, vous pouvez avoir besoin de lancer les composants manuellement en développement.

  • Le Scheduler (Orchestre les tâches) : airflow scheduler
  • Le Webserver (Interface UI) : airflow webserver

Opérations sur les DAGs#

C'est la partie la plus utilisée au quotidien par les Data Engineers.

Exécuter un historique (Backfill)#

Pour rattraper des données sur une plage précise. Airflow créera les instances de DAG pour chaque intervalle.

# Syntaxe : airflow dags backfill --start-date YYYY-MM-DD --end-date YYYY-MM-DD <dag_id>
airflow dags backfill --start-date 2024-09-01 --end-date 2024-09-30 <dag_id>
  • --start-date : La date de début (au format YYYY-MM-DD) à partir de laquelle le DAG sera exécuté.
  • --end-date : La date de fin (au format YYYY-MM-DD) jusqu’à laquelle le DAG sera exécuté.
  • <dag_id> : Remplacez ce paramètre par l'identifiant de votre DAG.

Supprimer un DAG#

Cette commande supprime le DAG de la base de données (attention, elle ne supprime pas le fichier .py sur le disque).

airflow dags delete <dag_id> --yes

Lister les DAGs#

Affiche tous les DAGs actuellement chargés par Airflow.

airflow dags list

Opérations sur les Tâches#

Réinitialiser des tâches (Clear)#

Si vous voulez relancer une tâche spécifique sur une période donnée (par exemple après une correction de bug), utilisez clear.

airflow tasks clear \
    --task-regex <task_id> \
    --start-date 2024-09-01 \
    --end-date 2024-09-30 \
    <dag_id>

Tester une tâche localement#

Exécute une instance de tâche sans vérifier les dépendances et sans enregistrer de résultat en base de données. Parfait pour le développement.

airflow tasks test <dag_id> <task_id> 2024-09-01

Gestion des Variables et Connexions#

Vous pouvez aussi gérer vos secrets via la CLI, ce qui est très utile pour les scripts de déploiement (CI/CD).

# Lister les connexions
airflow connections list

# Exporter les variables vers un fichier JSON
airflow variables export mes_variables.json

La maîtrise de la CLI vous rendra beaucoup plus efficace pour le diagnostic d'erreurs complexes. Dans la prochaine section, nous explorerons comment monitorer vos pipelines et configurer des alertes.

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue