Dags de Airflow

Introducción a Apache Airflow en Python

Mike Metzger

Data Engineer

¿Qué es un Dag?

Dag, o Directed Acyclic Graph:

  • Directed: el flujo entre componentes indica dependencias
  • Acyclic: no tiene bucles ni repeticiones
  • Graph: conjunto de componentes

Grafo acíclico dirigido con nodos conectados por flechas en un solo sentido y sin bucles

Introducción a Apache Airflow en Python

Dag en Airflow

  • Escrito en Python (pero puede usar componentes en otros lenguajes)
  • Formado por Tareas a ejecutar, como operators o sensors
  • Contiene dependencias definidas explícita o implícitamente
    • p. ej., copia el archivo al servidor antes de importarlo en el servicio de base de datos.

  Dag de Airflow con tareas conectadas que muestran el orden de dependencias

Introducción a Apache Airflow en Python

Definir un Dag

Ejemplo de Dag (Taskflow API):

from airflow.sdk import dag

from pendulum import datetime @dag( dag_id='etl_workflow', email='[email protected]', start_date=datetime(2026, 3, 15, tz="UTC") )
def etl_workflow(): ...
etl_workflow()
Introducción a Apache Airflow en Python

Dags en la línea de comandos

 

  • La línea de comandos airflow tiene muchos subcomandos
  • airflow -h: ayuda y descripción de subcomandos

 

  • Subcomandos de Dag

    • airflow dags list: muestra todos los Dags detectados
    • airflow dags reserialize: fuerza a Airflow a recargar los archivos de Dag
    • airflow tasks test: ejecuta una tarea específica
Introducción a Apache Airflow en Python

Línea de comandos vs Python

Usa la herramienta de línea de comandos para:

  • Iniciar procesos de Airflow
  • Ejecutar Dags/Tareas manualmente
  • Obtener registros de Airflow

Terminal ejecutando la herramienta de línea de comandos de airflow

Usa Python para:

  • Crear un Dag
  • Editar propiedades individuales de un Dag

Ilustración que representa código Python

Introducción a Apache Airflow en Python

¡Vamos a practicar!

Introducción a Apache Airflow en Python

Preparing Video For Download...