Ingeniero de Datos: pregunta de entrevista
¿Cómo orquestas pipelines de datos?
Modela pipelines como tareas idempotentes con dependencias, entradas, salidas, reintentos, timeouts, backfills, límites y propietario; persiste estado y expón calidad y frescura.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
Un orquestador como Airflow o Dagster ejecuta un grafo de tareas con dependencias explícitas por calendario o por llegada de datos. Cada tarea es idempotente para que un reintento o un backfill produzca el mismo resultado, declara sus entradas y salidas para derivar linaje y frescura, y tiene un timeout y una política de reintentos acorde a sus modos de fallo. Los límites de concurrencia protegen sistemas compartidos, el estado de ejecución se persiste para que un fallo reanude en lugar de reiniciar, y cada pipeline tiene un dueño y alertas ligadas a los datos que produce, no solo a si la tarea salió con cero.
Ejemplo
El pipeline de ingresos es un DAG: extraer facturación, extraer CRM, ambos alimentan un dbt run, que alimenta pruebas de calidad, que custodian la publicación de los marts. Cada extracción escribe una partición fechada y puede repetirse para cualquier día pasado; un backfill del mes pasado ejecuta 30 instancias fechadas con un tope de concurrencia de 4 para no saturar la API fuente. La tarea de publicación avisa a finanzas solo cuando las pruebas pasan y la frescura está confirmada.
Errores frecuentes
- Escribir tareas que añaden en cada ejecución, de modo que un reintento duplica los datos.
- Encadenar tareas por tiempos implícitos en lugar de dependencias declaradas.
- Alertar solo por fallo de tarea y no ver una tarea que terminó bien con cero filas.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.