Airflow e criação de DAGs básico bem feito

 

Introdução ao Apache Airflow e Criação de DAGs

O Apache Airflow é uma ferramenta poderosa de orquestração de workflows que permite automatizar, agendar e monitorar pipelines de dados. Criado originalmente pelo Airbnb e hoje mantido pela Apache Software Foundation, o Airflow se tornou um padrão na engenharia de dados moderna. Neste artigo, irei abordar o básico de forma bem feita: o que é o Airflow, como ele funciona, e como criar sua primeira DAG

 

O que é o Apache Airflow?

Airflow é uma plataforma programável de orquestração de workflows em vez de interfaces visuais ou arquivos de configuraçao declarativos, você define suas DAGs com código Python

Se fosse escalar os principais recursos do para atuar com AirFlow seria:
  • Escrita de workflows com Python;

  • Interface web para execução e monitoramento;

  • Conectores com diversos sistemas: bancos de dados, APIs, nuvens, etc;

  • Modularidade através de operadores reutilizáveis 


 

O que é uma DAG?

DAG é a sigla para Directed Acyclic Graph, ou grafo direcionado acíclico no contexto do Airflow, é uma representação das tarefas e suas dependências

 Para se criar uma DAG é preciso ententer primeiro alguns componentes: 

  • dag_id: Nome identificador da DAG;

  • start_date: Data de início das execuções;

  • schedule_interval: Frequência de execução;

  • catchup: Indica se deve "compensar" execuções passadas;

  • tasks: Tarefas que compõem a DAG;

     

Exemplo básico de DAG


Operadores e XCom

No Airflow, para fazer com que as tarefas sejam executadas precisamos de operadores cada operador tendo uma função especifica para dag.

Os operadores são :

  • BashOperator: Executa comandos de terminal;

  • PythonOperator: Executa funções Python;

  • EmailOperator, S3Operator, PostgresOperator etc;


 

  

Interface Web

A interface web do Airflow é bem completa e te permite visualizar processos de uma Dag de forma bem completa.

  • Visualizar execuções em tempo real;

  • Consultar logs das tarefas;

  • Executar tarefas manualmente;

  • Visualizar dependências em formato de grafo;


 

Boas práticas

Quando estamos atuando com DAGs atem algumas boas práticas a serem seguidas listei aqui as que eu realmente vi importancia que dão uma diferença no resultado final da sua DAG.

  • Use catchup=False para evitar execuções retroativas indesejadas;

  • Sempre defina start_date corretamente;

  • Dê nomes claros para DAGs e task_ids;

  • Configure retries e retry_delay para lidar com falhas transitórias;

  • Evite tarefas muito longas ou pesadas: quebre em steps menores;

 

Conclusão

Apache Airflow é uma ferramenta essencial para pipelines de dados e workflows automatizados. Entender o básico da criação de DAGs já é o suficiente para começar a automatizar processos com qualidade. O conteudo de dags pode estender alem desse contexto inicial como automatizar uma dag para envio de email e consultas sql, deixem feedback de voces oque acham de trazer um conteudo mais complexo sobre DAGs

 

 

 

Back-end Developer Java | Spring Boot | Quarkus | Microservices | SQL & NOSQL | SOLID | Design Patterns

Comments

Popular posts from this blog

Spring VS Micronaut VS Quarkus

Spring + Redis: Como melhorar sua aplicação com caching

Java + Kafka, Como essa parceria fucniona ?