Sobre o projeto
Apache Airflow é uma plataforma projetada para criar, agendar e monitorar fluxos de trabalho. Ao definir fluxos de trabalho como código (Directed Acyclic Graphs ou DAGs), eles se tornam mais sustentáveis, versionáveis e testáveis. A plataforma inclui um scheduler que executa tarefas em workers com base em dependências especificadas, uma interface de linha de comando rica para gerenciamento de DAGs e uma interface de usuário para visualização de pipelines e resolução de problemas.
As principais capacidades incluem:
- Geração Dinâmica de Pipelines: Os fluxos de trabalho são definidos em Python, permitindo a geração dinâmica e a parametrização.
- Extensibilidade: Fornece uma ampla gama de operadores integrados e suporta extensões personalizadas.
- Flexibilidade: Integra o mecanismo de templating Jinja para customizações ricas.
- Casos de Uso Abrangentes: Embora seja usado principalmente para pipelines de dados, também é utilizado para orquestrar fluxos de trabalho de machine learning (treinamento, avaliação, implantação) e cargas de trabalho baseadas em AI/LLM.
- UI de Monitoramento: Apresenta uma interface abrangente, incluindo visões gerais de DAGs, grafos de dependência de ativos, representações de grade e grafo de execuções e ferramentas de backfilling.
O Airflow é projetado para fluxos de trabalho estáticos ou que mudam lentamente e enfatiza tarefas idempotentes. Não é uma solução de streaming, mas pode processar dados em tempo real em lotes. Suporta vários bancos de dados, incluindo PostgreSQL, MySQL e SQLite (para desenvolvimento), e pode ser implantado via PyPI, imagens Docker ou Helm Charts.