top of page

Coffee and Tips Newsletter

Inscreva-se na nossa newsletter semanal

Nos vemos em breve!

#4 Orquestração de Pipelines com Airflow

  • Foto do escritor: JP
    JP
  • 13 de set.
  • 5 min de leitura

Série: Trilha prática para se tornar Engenheiro de Dados – Capítulo 4


Pré-requisitos


Antes de começar, você deve ter rodado os capítulos anteriores (especialmente o Capítulo 3, onde criamos um mini DW com SQLite).




Prepare seu ambiente:

pip install apache-airflow pandas requests sqlalchemy

Observação: no mundo real, o Airflow é configurado com Postgres/MySQL como metastore e Celery/Kubernetes como executor. Aqui vamos simular localmente com SQLite, apenas para aprender.

Não se preocupe: vamos usar apenas exemplos simples, que rodam localmente.



airflow


Orquestração de Pipelines com Airflow: Por que orquestrar pipelines?


Até aqui, criamos scripts que:


  • Extraem dados de uma API.

  • Transformam em tabelas organizadas.

  • Carregam em um DW local.


Mas… e se:


  • Precisamos rodar esse pipeline todos os dias às 8h?

  • A etapa de transformação só pode começar quando a extração terminar?

  • Queremos alertar se algo falhar?


👉 É aqui que entra a orquestração: organizar a execução de tarefas, suas dependências e monitorar tudo de forma confiável.


Conceitos básicos do Airflow


  • DAG (Directed Acyclic Graph) : conjunto de tarefas organizadas em fluxo (grafo).

  • Operadores : definem o que cada tarefa faz (PythonOperator, BashOperator, etc.).

  • Scheduler : decide quando rodar cada DAG.

  • Executor : executa de fato as tarefas.

  • UI Web : painel onde monitoramos execuções, falhas e históricos.


👉 Pense em uma linha de produção: cada máquina (tarefa) faz algo, e a esteira (DAG) conecta todas as etapas.


Ferramentas do mercado


Além do Apache Airflow, outras soluções de orquestração ganharam força:


  • Prefect → moderno, com sintaxe Python nativa e foco em usabilidade.

  • Dagster → orientado a “assets” (ativos de dados).

  • Luigi → pioneiro, mas menos popular atualmente.

👉 O Airflow ainda é o mais usado no mercado, principalmente em empresas que trabalham com AWS, GCP e Azure. Na AWS já existe este serviço gerenciado chamada MWAA.



Exemplo prático – Criando sua primeira DAG

Vamos simular uma Orquestração de Pipelines com Airflow:

  1. Extrair dados de produtos da API DummyJSON.

  2. Transformar em DataFrame organizado.

  3. Carregar no SQLite (mini DW local).


dag_produtos.py



▶️ Como executar


  1. Inicie o Airflow


Acesse o terminal e digite o seguinte comando:

airflow standalone

Isso cria a pasta de trabalho padrão (AIRFLOW_HOME), o metastore SQLite e sobe webserver + scheduler.


  1. Copiando a o arquivo para a pasta Dags/ do Ariflow (caso não saiba onde fica a pasta, veja seção completa mais abaixo por SO e volte aqui depois)


Copie dag_produtos.py para a pasta dags/ do seu AIRFLOW_HOME.


  1. Abra a UI


Acesse o seu navegador e digite a URL abaixo:



A página de login será aberta como mostra a imagem abaixo:


airflow

🔑 Login na UI (usuário e senha)


  • Usuário: admin

  • Senha: gerada automaticamente e mostrada no console da primeira vez que você roda airflow standalone.


Se não apareceu a senha no console, abra o arquivo simple_auth_manager_passwords.json.generated conforme abaixo:


# macOS/Linux

cat ~/airflow/simple_auth_manager_passwords.json.generated

# Windows (PowerShell)

type $HOME\airflow\simple_auth_manager_passwords.json.generated

Conteúdo típico:

[
 { "username": "admin", "password": "a8f9x2d1" }
]


Executando e Validando o resultado da DAG


Após acessar a UI do Airflow, vamos executar a DAG. Na UI conforme a imagem abaixo, clique no canto esquerdo na opção Dags e procure pela DAG criada anteriormente digitando no campo de pesquisa pipeline_produtos.


airflow


Executando a DAG


Clique em cima da DAG conforme imagem acima e você será redirecionado para a tela seguinte:


airflow


Agora clique no botão azul Trigger e confirme novamente no pop-up a seguir e veja a mágica acontecer!


airflow

Após finalizar a execução, a imagem abaixo com os resultados irá aparecer com status Success. Isso mostra que a DAG e as suas respectivas Tasks rodaram fino!


airflow


Validando o resultado após a execução da DAG


1) Pela UI


  • Graph View → tarefas verdes ✅.

  • Clique em cada Task IDLogs → procure mensagens de sucesso.


2) Pelos arquivos


Acesse os arquivos abaixo e veja como estão preenchidos:

  • /tmp/produtos.csv

  • /tmp/produtos_transformados.csv

  • /tmp/meu_dw.db (o “DW” local)


3) Pela consulta no SQLite


Acesse o terminal e execute o comando abaixo:

sqlite3 /tmp/meu_dw.db

/tmp/meu_dw.db é o caminho para o DW criado pela Task Carregar, lembra?


Em Seguida, no console, execute o comando abaixo:

.headers on
.mode column
.tables          -- deve listar 'produtos'

SELECT category, AVG(price) AS preco_medio, AVG(rating) AS avaliacao_media
FROM produtos
GROUP BY category
ORDER BY preco_medio DESC;

Saída esperada


airflow

Pronto, você acaba de criar uma pipeline usando Airflow! Pronto para a próxima?


📁 Onde fica a pasta de DAGs? (por sistema)


A) Conceito-chave: AIRFLOW_HOME


O Airflow usa a variável de ambiente AIRFLOW_HOME para saber onde ficam dags/, logs/ e plugins/.Se não estiver definida, o padrão é ~/airflow (home do usuário).


Verifique o valor da variável:


  • macOS/Linux (bash/zsh):


echo $AIRFLOW_HOME

  • Windows (PowerShell):


echo $env:AIRFLOW_HOME

Se vier vazio, assuma o padrão ~/airflow (ou C:\Users\SeuUsuario\airflow no Windows).


A pasta de DAGs estará em:


$AIRFLOW_HOME/dags/



B) macOS (e Linux)


1. Descobrir AIRFLOW_HOME

echo $AIRFLOW_HOME

  • Se vazio, o padrão é:

ls -la ~/airflow

2. Ver a pasta de DAGs

ls -la ~/airflow/dags

3. Copiar a DAG

mv /caminho/para/dag_produtos.py ~/airflow/dags/

4. Dica extra (caso tenha alterado AIRFLOW_HOME)


Se você configurou um outro caminho em ~/.bashrc ou ~/.zshrc:

export AIRFLOW_HOME="$HOME/meu_airflow"
source ~/.zshrc   # ou ~/.bashrc
echo $AIRFLOW_HOME
ls -la $AIRFLOW_HOME/dags

C) Windows


1. Descobrir AIRFLOW_HOME


PowerShell:

echo $env:AIRFLOW_HOME

  • Se vazio, use:

ls $HOME\airflow

(Em geral: C:\Users\SeuUsuario\airflow)


2. Ver a pasta de DAGs

ls $HOME\airflow\dags

3. Copiar a DAG

Copy-Item -Path "C:\caminho\para\dag_produtos.py" -Destination "$HOME\airflow\dags\"

4. (Opcional) Definir AIRFLOW_HOME permanente


No PowerShell profile ou variáveis de ambiente do sistema:


[Environment]::SetEnvironmentVariable("AIRFLOW_HOME", "C:\AirflowHome", "User")

Depois feche e reabra o terminal.



Leituras recomendadas



 Conclusão


Neste capítulo você aprendeu que:


  • Você orquestrou um pipeline real: Extrair → Transformar → Carregar.

  • Usou o Airflow, um componente bastante usado em pipelines de Dados


O que vem a seguir?


👉 No Capítulo 5: Apache Spark e processamento distribuído — por que Spark é tão usado e como pensar em paralelismo (com simulações locais).



Gostou desse capítulo?


👉 Assine a newsletter Coffee & Tips e receba os próximos capítulos direto no seu e-mail.


👉 Pré-venda exclusiva


Em breve também vamos lançar um E-Book avançado, com tutoriais em Spark, Airflow, Redshift, tudo para você se tornar um Engenheiro de Dados!


Cadastre-se agora na lista de pré-venda e garanta:


  • Acesso antecipado antes do lançamento oficial 🚀

  • Benefícios exclusivos para inscritos 💡

  • Conteúdo extra que não estará disponível gratuitamente




Fique ligado!


 
 
 

Comentários


bottom of page