Sobes.tech
Middle

¿Qué es DAG en Airflow?

sobes.tech AI

Respuesta de la IA

DAG (Grafo Acíclico Dirigido) en Apache Airflow es una estructura que describe la secuencia de tareas (tasks) y sus dependencias en forma de un grafo dirigido acíclico.

Cada vértice del grafo es una tarea, y las aristas muestran el orden de ejecución: la tarea B solo puede comenzar después de que la tarea A se haya completado con éxito, si hay una arista de A a B.

Características principales del DAG en Airflow:

  • Dirigido — las tareas siguen una dirección específica, reflejando el flujo de datos o procesos.
  • Acíclico — no hay ciclos, para evitar repeticiones infinitas.

Ejemplo de un DAG simple en Python en 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('ejemplo_dag', default_args=default_args, schedule_interval='@daily')

# Definimos las tareas
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)

# Definimos las dependencias
start >> process >> end

De esta forma, el DAG en Airflow es una forma de describir y automatizar procesos de trabajo complejos con un orden de ejecución claramente definido.