Buscar

Ferramentas

Apache Airflow

Orquestrador de pipelines de dados da Apache Software Foundation, com fluxos escritos em Python, agendador, workers e interface web para acompanhar execuções.

  • Dados e Analytics
  • Self-hosted
Apache Airflow

Pipelines de dados que rodam toda madrugada, puxando de um sistema e carregando em outro, são o terreno do Apache Airflow. Cada fluxo é um DAG (grafo acíclico dirigido) escrito em Python. O agendador distribui as tarefas entre os workers respeitando a ordem de dependência, e uma interface web mostra o que rodou, o que falhou e os logs.

Para que serve

  • Agendar cargas de dados recorrentes, com datas e horários definidos no próprio código.
  • Produzir tarefas em loop e parametrizar fluxos, já que tudo é Python.
  • Reprocessar um período inteiro com o backfill, quando uma regra muda ou uma fonte atrasa.
  • Disparar trabalho no Google Cloud, na AWS ou no Azure com operadores prontos.
  • Ver num grid o histórico de cada DAG e, no grafo, o estado de cada execução.

Como começar

A instalação oficial é pelo pip (ou uv) com um arquivo de restrições que fixa as dependências. O README dá este exemplo para a versão 3.3.0 e Python 3.10:

pip install 'apache-airflow==3.3.0' \
 --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.3.0/constraints-3.10.txt"

Em produção, use Linux e PostgreSQL ou MySQL. O SQLite fica para testes locais. Há também imagem oficial no Docker Hub (apache/airflow).

Licença e custo

Como projeto da Apache Software Foundation, o Airflow sai sob a Apache 2.0. Por ser permissiva, ela deixa o código ser alterado e redistribuído até dentro de produtos fechados; os avisos de copyright e o texto da licença precisam seguir junto. Para não operar a infraestrutura, o site oficial lista ofertas gerenciadas de terceiros, como Astro (Astronomer), Google Cloud Composer e Amazon MWAA.

Quando vale a pena

O Airflow combina com times de engenharia de dados que já trabalham em Python e têm processos em lote, estáveis e com muitas dependências entre etapas. O README avisa que ele não é ferramenta de streaming e que tarefas não devem trocar grandes volumes de dados entre si. Para o contexto desses pipelines, leia O que é Big Data?. Se você prefere declarar fluxos em YAML com editor visual, o Kestra segue esse modelo.