Skip to content
Latchkey

O Que É o Apache Airflow? O Orquestrador de Workflows Explicado

O Apache Airflow é uma plataforma open-source para criar, agendar e monitorar workflows de dados definidos como DAGs em Python.

O Apache Airflow é o orquestrador de referência da engenharia de dados. Ele permite definir workflows complexos de múltiplas etapas em Python, agendá-los e acompanhar sua execução, com retries embutidos, dependências e uma interface web que mostra o estado de cada task.

O que é o Airflow

O Airflow é uma plataforma de orquestração de workflows. Você escreve um DAG - um grafo acíclico dirigido de tasks - como código Python, e o Airflow agenda e executa as tasks na ordem de dependência, cuidando de retries, backfills e alertas. Ele é amplamente usado para rodar pipelines de ETL e ELT.

DAGs e tasks

Cada DAG do Airflow é um conjunto de tasks com dependências entre elas. Uma task pode executar uma query SQL, chamar uma API ou disparar um job do Spark. O Airflow descobre o que pode rodar em paralelo e o que precisa esperar, e reexecuta tasks que falharam de acordo com a sua política de retry.

Agendamento e monitoramento

O Airflow agenda DAGs em intervalos semelhantes a cron e registra cada execução em seu banco de dados de metadados, exibindo status, logs e durações em uma interface web. Operadores podem reexecutar uma task que falhou ou fazer backfill de um intervalo de datas sem reescrever código.

Airflow e CI/CD

O Airflow orquestra pipelines de dados, enquanto o CI/CD entrega o código dos DAGs que os definem. Uma boa configuração faz lint e testes unitários dos DAGs no CI - verificando se eles fazem parse e não têm ciclos - antes de implantá-los no Airflow.

Testing Airflow DAGs in CI
steps:
  - run: pip install apache-airflow
  - run: python -c "import dags.my_pipeline"   # import check
  - run: pytest tests/dags                      # task unit tests

Nota Latchkey

Jobs de CI que validam DAGs instalam o Airflow e seus providers, o que é pesado. No Latchkey, fazer cache desse ambiente entre execuções torna os jobs de validação de DAG rápidos, e o auto-retry cobre falhas transitórias de índice de pacotes ou de download de providers durante a instalação.

Principais conclusões

  • O Apache Airflow cria, agenda e monitora workflows de dados definidos como DAGs em Python.
  • Ele executa tasks na ordem de dependência com retries embutidos, backfills e uma UI de monitoramento.
  • O Airflow orquestra pipelines; o CI/CD entrega e testa o código dos DAGs que os definem.

Guias relacionados