Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Airflow — Intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • airflow

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Dirigido a profesionales que ya dominan los fundamentos de Apache Airflow y necesitan llevar sus pipelines a un nivel de producción real, este curso profundiza en los patrones de diseño y las decisiones de ingeniería que marcan la diferencia entre un DAG funcional y uno mantenible, resiliente y seguro. A lo largo de 8 horas, los participantes explorarán la lógica condicional de ejecución, la integración con sistemas externos mediante Connections, el diseño de tareas idempotentes y el uso de XComs para propagar metadatos entre tareas; aprenderán a comparar y elegir entre estilos de autoría (PythonOperator frente a TaskFlow API), a estructurar DAGs complejos con TaskGroups y a controlar el paralelismo y la frecuencia de ejecución de forma coherente con el entorno. Al finalizar, el participante será capaz de diseñar, adaptar y depurar pipelines de datos listos para entornos colaborativos y de producción, tomando decisiones técnicas justificadas en cada etapa.

  1. Comparar las diferencias conceptuales entre el modelo clásico de operadores y la TaskFlow API, identificando los criterios de legibilidad, mantenimiento y paso de datos que determinan la elección más adecuada para cada contexto.
  2. Diseñar DAGs con rutas de ejecución condicionales, configurando correctamente BranchPythonOperator y trigger_rule para satisfacer requisitos de negocio con múltiples caminos alternativos.
  3. Diseñar tareas idempotentes y adaptar pipelines existentes para incorporar nuevos requisitos de frecuencia y paralelismo, justificando las decisiones tomadas con criterios de reejecutabilidad y control de concurrencia.
  4. Integrar operadores de terceros con sistemas externos mediante Connections de Airflow y propagar metadatos entre tareas encadenadas usando XComs, garantizando la gestión segura de credenciales y el respeto de los límites de tamaño.
  5. Depurar fallos en pipelines reales a partir de logs, estados de tarea en la UI y mensajes de excepción, y organizar DAGs complejos mediante TaskGroups con nombres semánticos para mejorar su legibilidad y mantenimiento.

Bloque 1 — Estilos de autoría y fundamentos avanzados de DAG Se revisan en profundidad las dos formas principales de definir pipelines en Airflow: el enfoque clásico basado en PythonOperator y el estilo declarativo de la TaskFlow API con el decorador @task. Los participantes analizan cómo cada aproximación gestiona el paso de datos entre tareas, qué implicaciones tiene en la legibilidad del código y cuándo la elección de uno u otro afecta al mantenimiento a largo plazo de los DAGs.

Bloque 2 — Lógica condicional y control de ejecución Se trabaja el diseño de flujos de trabajo con múltiples rutas posibles mediante BranchPythonOperator, estudiando cómo la configuración del parámetro trigger_rule en las tareas descendentes determina el comportamiento real del pipeline ante cada bifurcación. A continuación se abordan los parámetros de programación y concurrencia: schedule_interval, max_active_runs y concurrency, con los que se adaptan DAGs existentes para cumplir nuevos requisitos de frecuencia y paralelismo de forma coherente con el entorno de ejecución.

Bloque 3 — Idempotencia, integración con sistemas externos y XComs Este bloque aborda tres principios que sostienen los pipelines de producción. En primer lugar, el diseño de tareas idempotentes en pipelines de ingesta, documentando en el propio código las decisiones que garantizan la reejecutabilidad segura. En segundo lugar, la integración de operadores de terceros —HTTP, SQL y cloud— con sistemas reales a través de las Connections de Airflow, evitando el hardcoding de credenciales. Finalmente, se estudia el mecanismo de XComs para propagar metadatos entre tres o más tareas encadenadas, incluyendo cuándo delegar el almacenamiento a un sistema externo por volumen de datos.

Bloque 4 — Depuración y organización de DAGs complejos El bloque final integra las habilidades adquiridas en un flujo de trabajo de diagnóstico y refactorización. Los participantes practican la identificación de la causa raíz de fallos reales consultando los logs de Airflow, los estados de tarea en la interfaz gráfica y los mensajes de excepción. Sobre DAGs de más de ocho tareas, se aplica la estructura de TaskGroups con nombres semánticos, transformando versiones planas en pipelines legibles y mantenibles.

  • Apache Airflow 2.6 o superior instalado localmente o accesible vía Docker Compose (se proveerá un docker-compose.yml de referencia).
  • Python 3.9 o superior con pip disponible en el entorno de trabajo.
  • Acceso a un editor de código con soporte para Python (VS Code con extensión Python recomendado).
  • Credenciales de prueba para al menos un sistema externo: base de datos PostgreSQL o MySQL, endpoint HTTP público o cuenta sandbox de un proveedor cloud (AWS, GCP o Azure).
  • Navegador moderno para interactuar con la UI de Airflow durante los ejercicios de depuración.
  • Conceptos fundamentales de Apache Airflow: DAG, operadores, scheduler y executor (cubiertos en AIR01).
  • Manejo básico de la interfaz web de Airflow: vista de DAGs, Tree View/Graph View y consulta de logs.
  • Python intermedio: funciones, decoradores, manejo de excepciones y uso básico de librerías estándar.
  • Conocimiento general de sistemas de datos o servicios cloud que se emplearán como destinos de integración (bases de datos SQL, APIs REST o equivalentes).