Sobre el proyecto
Apache Airflow es una plataforma diseñada para crear, programar y monitorear flujos de trabajo. Al definir los flujos de trabajo como código (Grafos Acíclicos Dirigidos o DAGs), estos se vuelven más mantenibles, versionables y testeables. La plataforma incluye un scheduler que ejecuta tareas en workers basándose en dependencias especificadas, una rica interfaz de línea de comandos para la gestión de DAGs y una interfaz de usuario para visualizar tuberías y solucionar problemas.
Las capacidades clave incluyen:
- Generación Dinámica de Tuberías: Los flujos de trabajo se definen en Python, lo que permite la generación dinámica y la parametrización.
- Extensibilidad: Proporciona una amplia gama de operadores integrados y admite extensiones personalizadas.
- Flexibilidad: Integra el motor de plantillas Jinja para personalizaciones enriquecidas.
- Casos de Uso Amplios: Aunque se utiliza principalmente para tuberías de datos, también se emplea para orquestar flujos de trabajo de machine learning (entrenamiento, evaluación, despliegue) y cargas de trabajo basadas en AI/LLM.
- UI de Monitoreo: Cuenta con una interfaz completa que incluye vistas generales de DAG, grafos de dependencia de activos, representaciones de cuadrícula y grafo de ejecuciones, y herramientas de backfilling.
Airflow está diseñado para flujos de trabajo estáticos o que cambian lentamente y enfatiza las tareas idempotentes. No es una solución de streaming, pero puede procesar datos en tiempo real en lotes. Admite varias bases de datos, incluyendo PostgreSQL, MySQL y SQLite (para desarrollo), y puede desplegarse a través de PyPI, imágenes de Docker o Helm Charts.