Middle
O que é DAG no Airflow?
sobes.tech IA
Resposta da IA
Um DAG (Grafo Acíclico Dirigido) no Apache Airflow é uma estrutura que descreve a sequência de tarefas (tasks) e as suas dependências na forma de um grafo dirigido acíclico.
Cada vértice do grafo é uma tarefa, e as arestas indicam a ordem de execução: a tarefa B só pode começar após a conclusão bem-sucedida da tarefa A, se existir uma aresta de A para B.
Principais características do DAG no Airflow:
- Orientado — as tarefas seguem uma direção específica, refletindo o fluxo de dados ou processos.
- Acíclico — não há ciclos, para evitar repetições infinitas.
Exemplo de um DAG simples em Python no Airflow:
from airflow import DAG
from airflow.operators.bash import BashOperator
from datetime import datetime
default_args = {'start_date': datetime(2024, 1, 1)}
dag = DAG('exemplo_dag', default_args=default_args, schedule_interval='@daily')
# Definir tarefas
start = BashOperator(task_id='start', bash_command='echo Start', dag=dag)
process = BashOperator(task_id='process', bash_command='echo Processing', dag=dag)
end = BashOperator(task_id='end', bash_command='echo End', dag=dag)
# Definir dependências
start >> process >> end
Assim, o DAG no Airflow é uma forma de descrever e automatizar processos de trabalho complexos com uma ordem de execução claramente definida.