Lección 10 de 20 · Lectura y práctica
Quiz: Operadores, Sensores y su Aplicación en ETL
Tipo de lección: QuizConcepto claveEn Apache Airflow, los operadores son las unidades básicas de trabajo que ejecutan tareas específicas dentro de un DAG. Piensa en ellos como los trabajadores especializados en una línea de.
Del concepto a la práctica
Taller de esta lección
Este cuestionario puede resolverse siguiendo el recorrido de un dato y la responsabilidad de cada tarea. Pregunta qué debe ocurrir si el archivo aún no llegó, si la respuesta tiene un esquema inesperado o si una carga se repite. La respuesta correcta debe incluir una condición observable y no solo el nombre de un operador.
Ejemplo resuelto
Si el archivo no existe, un sensor espera hasta su timeout. Si existe pero carece de importe, una validación falla de forma controlada. Si la transformación termina y la carga se reintenta, una clave única evita duplicación. Son tres situaciones diferentes aunque todas aparezcan en el mismo DAG.
Pruébalo
Dibuja la ruta sensor, validación, transformación y carga.
Asigna un estado esperado a cada fallo.
Elige qué evidencia revisarías en cada caso.
Repite con una entrada válida.
Error frecuente: hacer que el sensor descargue y transforme datos en una sola función. Corrígelo separando espera, extracción y validación.
Ejercicio: usa un conjunto de cuatro filas, una sin importe.
Comprueba tu resultado
la espera termina, la validación identifica una fila inválida y, si el contrato permite rechazos por registro, la carga recibe exactamente tres filas; un error de esquema del lote debe detener la carga.

Mapa de prácticaUn DAG expresa dependencias entre tareas, sin ciclos. Una transformación puede esperar a varias entradas y la publicación debe esperar a que la carga esté lista. El orden depende de los datos necesarios, no solo de una hora del reloj.
Ver la infografía en tamaño completo ↗Tipo de lección: Quiz
Concepto clave
En Apache Airflow, los operadores son las unidades básicas de trabajo que ejecutan tareas específicas dentro de un DAG. Piensa en ellos como los trabajadores especializados en una línea de producción: cada uno sabe exactamente qué hacer (extraer datos, transformarlos, cargarlos) y solo necesita las instrucciones correctas para ejecutarse.
Los sensores, por otro lado, son operadores especializados que esperan por una condición externa antes de continuar. Imagina un inspector de calidad que verifica que la materia prima llegó antes de permitir que comience el proceso de transformación. En ETL, esto se traduce en esperar por la llegada de un archivo, la disponibilidad de una base de datos, o la finalización de otro proceso.
Cómo funciona en la práctica
Veamos un ejemplo paso a paso de un pipeline ETL que procesa datos de ventas diarias:
- Un
FileSensormonitorea un directorio FTP esperando el archivoventas_diarias.csv - Cuando el archivo aparece, un
PythonOperatorextrae los datos y los valida - Un
BashOperatorejecuta un script de transformación que calcula métricas clave - Finalmente, un
PostgresOperatorcarga los resultados transformados a la base de datos de reporting
Cada operador se define con sus parámetros específicos y se encadena mediante dependencias para crear el flujo completo.
Caso de estudio
Una empresa de retail necesita procesar datos de inventario desde múltiples fuentes:
| Fuente | Operador utilizado | Frecuencia |
|---|---|---|
| API REST de proveedor | HttpSensor + PythonOperator | Cada hora |
| Archivos CSV en S3 | S3KeySensor + FileTransformOperator | Diario |
| Base de datos transaccional | SqlSensor + MySqlOperator | En tiempo real |
El sensor S3KeySensor redujo los errores por archivos incompletos en un 85% al verificar que el archivo tenga el tamaño esperado antes de procesarlo.
Errores comunes
- Timeout demasiado corto en sensores: Configurar
timeoutmuy bajo hace que los sensores fallen prematuramente. Solución: Calcular el tiempo máximo realista de espera y agregar un margen del 20%. - Operadores bloqueantes en bucles: Usar
whileloops dentro de PythonOperator puede bloquear el scheduler. Solución: Implementar lógica asíncrona o usar sensores especializados. - Falta de manejo de fallos: No configurar
retriesyretry_delayen operadores críticos. Solución: Definir políticas de reintento basadas en la criticidad de cada tarea. - Dependencias circulares: Crear ciclos donde el operador A depende de B y B depende de A. Solución: Usar herramientas de validación de DAGs antes del despliegue.
Checklist de dominio
- Puedo seleccionar el operador correcto para cada tipo de tarea ETL (extracción, transformación, carga)
- Sé configurar sensores con condiciones específicas y tiempos de espera apropiados
- Entiendo cómo encadenar operadores y sensores para crear flujos lógicos
- Puedo implementar manejo de errores y políticas de reintento
- Conozco la diferencia entre operadores estándar y custom operators
- Sé monitorear y debuggear la ejecución de operadores en tiempo real
- Puedo optimizar el uso de recursos entre operadores concurrentes
Implementa un pipeline ETL con sensores y operadores especializados
Construye un DAG que procese datos meteorológicos desde múltiples fuentes:
- Crea un sensor que espere por un archivo JSON en
/data/weathercon el patrónweather_*.json - Implementa un operador que valide la estructura del JSON (debe contener temperatura, humedad y timestamp)
- Agrega un operador de transformación que convierta temperaturas de Fahrenheit a Celsius
- Configura un operador que cargue los datos validados y transformados a una tabla PostgreSQL
- Define dependencias apropiadas entre todas las tareas
- Agrega manejo de errores con 3 reintentos y delay exponencial
Entrega el código Python completo del DAG.
Pistas
- Usa FileSensor con mode='poke' para el monitoreo de archivos
- Considera usar JsonSchemaValidatorOperator para validación estructural
- Recuerda que PostgreSQLOperator requiere configuración de conexión previa
Evalua tu comprension
Completa el quiz interactivo de arriba para ganar XP.
Sigue con Apache Airflow: Construcción de Pipelines ETL Automatizados con DAGs
Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.
Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.