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_id
s;Configure
retries
eretry_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
Post a Comment