Uso y despliegue de Airflow

Apache Airflow es una plataforma de orquestación de flujos de trabajo (workflows) que permite crear, programar y monitorear flujos de trabajo complejos, usualmente en el contexto de ETL (Extract, Transform, Load), procesamiento de datos, pipelines de machine learning y tareas de automatización en general. Airflow maneja la ejecución de tareas de forma secuencial o paralela a través de DAGs (Directed Acyclic Graphs), que definen cómo se conectan y dependen las tareas entre sí.

Funciones principales de Airflow:

  1. Planificación y ejecución de tareas: Programas cuándo y cómo deben ejecutarse las tareas.
  2. Monitorización: Ofrece una interfaz web para visualizar el estado de las ejecuciones y logs.
  3. Escalabilidad: Airflow es capaz de manejar flujos de trabajo en entornos distribuidos.
  4. Gestión de dependencias: Controla cómo se relacionan y dependen las tareas entre ellas.

Componentes clave de Airflow:

  • DAGs (Directed Acyclic Graphs): Representan los flujos de trabajo.
  • Tareas (Tasks): Unidades individuales de trabajo dentro de un DAG.
  • Scheduler: Programa las tareas para que se ejecuten en el momento adecuado.
  • Workers: Ejecutan las tareas (puede ser local o distribuido).
  • Executor: Define cómo se ejecutan las tareas (e.g., CeleryExecutor, LocalExecutor).

Ejemplo básico de un DAG: