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.