Explorar la Interfaz Web y Comprender la Arquitectura

Lectura
20 min~5 min lectura

Concepto clave

Apache Airflow es una plataforma de orquestación de flujos de trabajo que permite programar, monitorear y gestionar pipelines de datos complejos mediante DAGs (Directed Acyclic Graphs). La arquitectura de Airflow se compone de varios componentes clave que trabajan en conjunto para ejecutar tus tareas de manera confiable y escalable.

Imagina que estás coordinando una cadena de producción en una fábrica: el scheduler es el planificador que decide qué tareas ejecutar y cuándo, los workers son los operarios que realizan el trabajo, la base de datos es el registro central donde se guarda el estado de todo, y la interfaz web es el panel de control desde donde supervisas toda la operación. Cada componente tiene un rol específico y deben comunicarse entre sí para que el sistema funcione correctamente.

Cómo funciona en la práctica

Cuando accedes a la interfaz web de Airflow después de iniciar el servidor, te encontrarás con varias secciones principales. Vamos a explorar cada una paso a paso:

  1. Dashboard/Home: Aquí ves una visión general de todos tus DAGs, con indicadores de estado (éxito, fallo, en ejecución) y controles para pausar/activar pipelines.
  2. DAGs: Lista completa de tus flujos de trabajo organizados, con filtros por etiquetas, propietarios y estado.
  3. Graph View: Representación visual de un DAG específico donde puedes ver las dependencias entre tareas y su estado actual.
  4. Tree View: Vista cronológica que muestra las ejecuciones históricas de un DAG, organizadas por fecha de ejecución.
  5. Task Instances: Detalle de cada tarea individual dentro de una ejecución, con logs, duración y posibles reintentos.
  6. Admin: Configuración del sistema, gestión de usuarios, conexiones a bases de datos y variables.

Para navegar eficientemente, comienza siempre por el Dashboard para tener una visión global, luego selecciona un DAG específico y usa Graph View para entender su estructura. Cuando algo falle, accede a Task Instances para revisar los logs de error.

Caso de estudio

Consideremos un pipeline ETL para procesar datos de ventas diarias de una empresa retail. El DAG tiene estas tareas:

TareaOperadorDescripción
extraer_ventasPythonOperatorExtrae datos de la API de ventas
transformar_datosPythonOperatorLimpia y transforma los datos
cargar_warehousePostgresOperatorCarga los datos transformados al data warehouse
enviar_reporteEmailOperatorEnvía un reporte por email al equipo

En la interfaz web, verías este DAG en Graph View mostrando las dependencias: extraer_ventas → transformar_datos → cargar_warehouse → enviar_reporte. Si transformar_datos falla, la interfaz mostrará el nodo en rojo, y podrás hacer clic en él para ver los logs de error específicos. El Tree View te permitiría ver que este DAG se ejecuta diariamente a las 2 AM, y revisar ejecuciones pasadas para identificar patrones de fallo.

La interfaz web de Airflow no solo es para monitoreo: es tu herramienta principal para depurar problemas, entender dependencias y gestionar la ejecución de pipelines complejos.

Errores comunes

  • No revisar los logs completos: Muchos usuarios solo ven el mensaje de error superficial en la interfaz. Siempre expande los logs completos para encontrar la causa raíz.
  • Confundir timezone del scheduler: Airflow usa UTC por defecto. Si programas un DAG para las 9 AM pensando en tu zona horaria local, se ejecutará a una hora diferente.
  • Ignorar la cola de tareas: Cuando muchas tareas están en estado 'queued', puede indicar que los workers están saturados o hay problemas de configuración.
  • No usar etiquetas (tags): En proyectos con decenas de DAGs, las etiquetas son esenciales para organizar y filtrar pipelines relacionados.
  • Olvidar pausar DAGs durante mantenimiento: Si necesitas detener temporalmente un pipeline, usa el toggle de pausa en la interfaz en lugar de modificar el código.

Checklist de dominio

  1. Puedo navegar a cualquier sección de la interfaz web en menos de 3 clics
  2. Sé diferenciar entre Graph View y Tree View y cuándo usar cada una
  3. Puedo encontrar y leer logs de error de una tarea fallida
  4. Entiendo qué indica cada color en la visualización de DAGs (verde=éxito, rojo=fallo, etc.)
  5. Sé pausar/reactivar un DAG desde la interfaz
  6. Puedo filtrar DAGs por etiqueta, propietario o estado
  7. Reconozco cuándo una tarea está en estado 'queued' y sé cómo investigar la causa

Configura y explora un DAG de ejemplo en la interfaz web de Airflow

En este ejercicio práctico, configurarás un DAG simple en tu entorno local de Airflow y usarás la interfaz web para explorar sus diferentes vistas y funcionalidades.

  1. Prepara tu entorno: Asegúrate de tener Airflow funcionando localmente. Si usas Docker, ejecuta docker-compose up en el directorio de Airflow.
  2. Crea un DAG básico: En la carpeta dags/, crea un archivo mi_primer_dag.py con este contenido:
    from airflow import DAG
    from airflow.operators.python import PythonOperator
    from datetime import datetime
    
    def imprimir_mensaje():
        print("¡Tarea ejecutada exitosamente!")
    
    def fallar_tarea():
        raise ValueError("Error simulado para demostración")
    
    with DAG(
        dag_id='ejercicio_exploracion',
        start_date=datetime(2024, 1, 1),
        schedule_interval='@daily',
        catchup=False
    ) as dag:
        
        tarea_exitosa = PythonOperator(
            task_id='tarea_exitosa',
            python_callable=imprimir_mensaje
        )
        
        tarea_fallida = PythonOperator(
            task_id='tarea_fallida',
            python_callable=fallar_tarea
        )
        
        tarea_exitosa >> tarea_fallida
  3. Accede a la interfaz web: Abre tu navegador y ve a http://localhost:8080 (puerto por defecto). Inicia sesión con las credenciales por defecto (usuario: airflow, contraseña: airflow).
  4. Explora las vistas:
    • En el Dashboard, encuentra tu DAG 'ejercicio_exploracion' y actívalo (toggle ON)
    • Haz clic en el nombre del DAG para ir a Graph View
    • Ejecuta el DAG manualmente (Trigger DAG) y observa cómo cambian los colores de las tareas
    • Navega a Tree View y revisa la ejecución que acabas de triggerear
    • Haz clic en la tarea fallida (roja) y revisa sus logs
  5. Documenta tus hallazgos: Toma capturas de pantalla de:
    • Graph View mostrando ambas tareas
    • Tree View con la ejecución reciente
    • Logs de la tarea fallida
Pistas
  • Si no ves tu DAG en la lista, verifica que el archivo esté en la carpeta correcta y que Airflow haya recargado los DAGs (tarda unos segundos)
  • Para triggerear una ejecución manual, usa el botón 'Trigger Dag' en la página del DAG, no en el Dashboard general
  • Los logs pueden tardar unos segundos en aparecer después de que una tarea falla - si no ves nada, refresca la página

Evalua tu comprension

Completa el quiz interactivo de arriba para ganar XP.