Apache Airflow é um orquestrador de fluxo de trabalho para pipelines de dados. Este guia mostra uma configuração mínima e segura que você pode desenvolver posteriormente.
1. Escolha o caminho de instalação
Se você quiser uma configuração local rápida, use Docker Compose. Se você estiver implantando em produção, planeje um banco de dados gerenciado e um executor adequado.
Local (recomendado para POC):
- Docker
- Postgres
- Executor Local
Produção (linha de base):
- Postgres ou MySQL
- Redis (para aipo)
- CeleryExecutor ou KubernetesExecutor
2. Configuração local com Docker Compose
- Crie uma nova pasta e copie o Airflow oficial
docker-compose.yaml. - Defina as variáveis de ambiente necessárias em um arquivo
.env. - Inicialize o banco de dados e crie um usuário administrador.
Comandos de exemplo:
mkdir airflow-poc
cd airflow-poc
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.0/docker-compose.yaml'
mkdir -p ./dags ./logs ./plugins
echo "AIRFLOW_UID=50000" > .env
docker compose up airflow-init
docker compose up -d
Quando estiver em execução, abra http://localhost:8080 e faça login.
3. Crie seu primeiro DAG
Dentro de ./dags, crie um arquivo DAG simples:
from airflow import DAG
from airflow.operators.bash import BashOperator
from datetime import datetime
with DAG(
dag_id="hello_airflow",
start_date=datetime(2024, 1, 1),
schedule="@daily",
catchup=False,
) as dag:
task = BashOperator(
task_id="print_date",
bash_command="date",
)
Você deve vê-lo na IU e poder acioná-lo.
4. Avance em direção à produção
Principais atualizações:
- Use um banco de dados Postgres gerenciado.
- Armazene logs no S3 ou GCS.
- Mude para o executor Celery ou Kubernetes.
- Adicione gerenciamento de segredos (Vault, AWS Secrets Manager).
- Adicione monitoramento e alertas.
5. Armadilhas comuns
- Esquecendo de desabilitar
catchuppara cargas de trabalho sem preenchimento. - Usando SQLite em produção.
- Executando muitas tarefas paralelas sem ajustar recursos.
Se você quiser, posso fornecer a seguir uma arquitetura de referência pronta para produção.