Sobes.tech
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.