Ir al contenido
Star
478
Star
478

Airflow

Esta guía te muestra cómo trabajar con Apache Airflow localmente usando Docker. Este lab demuestra un pipeline ETL simple con tareas de extracción, transformación y carga ejecutadas como un DAG programado.

  • Docker instalado y en ejecución.
  1. Instala las dependencias:

    Ventana de terminal
    pip install uv && uv sync
  2. Crea los directorios necesarios:

    Ventana de terminal
    mkdir -p dags logs plugins
  3. Iniciar la infraestructura: Lanza todos los servicios de Airflow:

    Ventana de terminal
    docker compose up -d
  4. Activar el DAG:

    • Abre la UI de Airflow en tu navegador (credenciales en .env):
      Ventana de terminal
      http://localhost:8080
    • Activa el DAG etl_pipeline haciendo clic en el interruptor. El DAG se ejecuta automáticamente cada 30 segundos.
  • UI de Airflow:
    • Monitoriza: Haz clic en el nombre del DAG para ver el grafo (extract_tasktransform_taskload_task).
    • Logs: Haz clic en una caja de tarea, selecciona la instancia de la tarea y haz clic en Log para inspeccionar la salida del ETL.
  • Inspecciona los archivos generados: los archivos creados dentro del contenedor worker:
    Ventana de terminal
    docker exec -it <worker_container_id> ls -la storage/extract/
    docker exec -it <worker_container_id> ls -la storage/transform/
    docker exec -it <worker_container_id> ls -la storage/load/
Ventana de terminal
docker compose down -v
rm -rf logs/*
ProblemaSolución
Los servicios no arrancanRevisa los logs con docker compose logs. La inicialización puede tardar 30-60 segundos.
El DAG no apareceAsegúrate de que los archivos están en dags/, comprueba si hay errores de Python y recarga la UI.