Introducción a Apache Airflow

Introducción a Apache Airflow en Python

Mike Metzger

Data Engineer

¿Qué es un flujo de trabajo?

  • Flujo de trabajo: conjunto de pasos para un proceso de data engineering

 

  • Ejemplo: descargar archivos, copiar datos, filtrar información y escribir en una base de datos

Diagrama de flujo con pasos secuenciales: descargar archivos hasta escribir en una base de datos

Introducción a Apache Airflow en Python

¿Qué es Airflow?

Airflow: plataforma para orquestar flujos de trabajo:

  • Crear
  • Programar
  • Monitorizar

 

Logo de Apache Airflow

   

Iconos que representan crear, programar y monitorizar flujos de trabajo

Introducción a Apache Airflow en Python

¿Qué es Airflow?

  • Puede ejecutar programas en cualquier lenguaje, pero los flujos se escriben en Python
  • Implementa los flujos como Dags
  • Acceso vía web, código, CLI o REST API
  • Se usa para ETL, ML, automatización, etc.

 

Logo de Apache Airflow

Introducción a Apache Airflow en Python

Introducción rápida a los Dags

Dag: modelo que representa todo lo necesario para ejecutar un flujo.

  • Incluye tareas y sus dependencias
  • Se crea con detalles como nombre, email, responsable

Dag de ejemplo con tareas unidas por flechas de dependencia

Introducción a Apache Airflow en Python

Componentes de Airflow

  • Scheduler - Lanza flujos programados y envía tareas
  • API Server - Ofrece acceso seguro y uniforme a la plataforma Airflow
  • Dag processor - Lo lee el scheduler para decidir qué tareas ejecutar y cuándo
  • Metadata database - Guarda el estado de los Dags y las tareas

Diagrama de componentes de Airflow: scheduler, API server, Dag processor y metadata database

Introducción a Apache Airflow en Python

Ejecutar un flujo en la UI de Airflow

Vista de Dags en Airflow con dos Dags cargados y opciones de interacción

Introducción a Apache Airflow en Python

Ejecutar un flujo en la UI de Airflow

Vista de Dags en Airflow con el botón de reproducir para activar destacado

Introducción a Apache Airflow en Python

Ejecutar un flujo en la UI de Airflow

Popup de activar Dag en Airflow con opciones por defecto y botón Trigger

Introducción a Apache Airflow en Python

Ejecutar un flujo en la UI de Airflow

Vista de Dags en Airflow mostrando la última ejecución correcta con una marca verde

Introducción a Apache Airflow en Python

Ejecutar un flujo en la UI de Airflow

Vista de tareas de una ejecución de Dag en Airflow con detalles de tareas como generate_random_number

Introducción a Apache Airflow en Python

¡Vamos a practicar!

Introducción a Apache Airflow en Python

Preparing Video For Download...