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.
Prerrequisitos
Sección titulada «Prerrequisitos»- Docker instalado y en ejecución.
Cómo ejecutar
Sección titulada «Cómo ejecutar»-
Instala las dependencias:
Ventana de terminal pip install uv && uv sync -
Crea los directorios necesarios:
Ventana de terminal mkdir -p dags logs plugins -
Iniciar la infraestructura: Lanza todos los servicios de Airflow:
Ventana de terminal docker compose up -d -
Activar el DAG:
- Abre la UI de Airflow en tu navegador (credenciales en
.env):Ventana de terminal http://localhost:8080 - Activa el DAG
etl_pipelinehaciendo clic en el interruptor. El DAG se ejecuta automáticamente cada 30 segundos.
- Abre la UI de Airflow en tu navegador (credenciales en
Validar resultados
Sección titulada «Validar resultados»- UI de Airflow:
- Monitoriza: Haz clic en el nombre del DAG para ver el grafo (
extract_task→transform_task→load_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.
- Monitoriza: Haz clic en el nombre del DAG para ver el grafo (
- 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/
Limpieza
Sección titulada «Limpieza»docker compose down -vrm -rf logs/*Solución de problemas
Sección titulada «Solución de problemas»| Problema | Solución |
|---|---|
| Los servicios no arrancan | Revisa los logs con docker compose logs. La inicialización puede tardar 30-60 segundos. |
| El DAG no aparece | Asegúrate de que los archivos están en dags/, comprueba si hay errores de Python y recarga la UI. |