À propos du projet
Apache Airflow est une plateforme conçue pour concevoir, ordonnancer et surveiller des flux de travail. En définissant les flux de travail sous forme de code (Directed Acyclic Graphs ou DAGs), ils deviennent plus maintenables, versionnables et testables. La plateforme comprend un scheduler qui exécute des tâches sur des workers en fonction de dépendances spécifiées, une interface de ligne de commande riche pour la gestion des DAGs, et une interface utilisateur pour visualiser les pipelines et le dépannage.
Les capacités clés incluent :
- Génération dynamique de pipelines : Les flux de travail sont définis en Python, permettant une génération dynamique et un paramétrage.
- Extensibilité : Fournit une large gamme d'opérateurs intégrés et prend en charge des extensions personnalisées.
- Flexibilité : Intègre le moteur de templating Jinja pour des personnalisations riches.
- Cas d'utilisation étendus : Bien qu'utilisé principalement pour les pipelines de données, il sert également à orchestrer des flux de travail de machine learning (entraînement, évaluation, déploiement) et des charges de travail basées sur l'AI/LLM.
- UI de surveillance : Dispose d'une interface complète comprenant des aperçus de DAG, des graphes de dépendance d'actifs, des représentations en grille et en graphe des exécutions, ainsi que des outils de backfilling.
Airflow est conçu pour des flux de travail statiques ou évoluant lentement et met l'accent sur les tâches idempotentes. Ce n'est pas une solution de streaming, mais il peut traiter des données en temps réel par lots. Il prend en charge diverses bases de données, notamment PostgreSQL, MySQL et SQLite (pour le développement), et peut être déployé via PyPI, des images Docker ou des Helm Charts.