Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 3 de 5
EXPECT OR DROP
El pipeline event log es la fuente estructurada para progreso, calidad, linaje y errores, y debe consultarse usando campos documentados.
- Duración
- 17 min aprox.
- Objetivo
- El pipeline event log es la fuente estructurada para progreso, calidad, linaje y errores, y debe consultarse usando campos documentados.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
Expectations, cuarentena y event logs
Haz visibles las decisiones de calidad y separa observación, descarte, fallo y remediación.
- Elegir EXPECT, DROP o FAIL
- Diseñar una cuarentena trazable
- Consultar métricas en event logs
03OperaciónEXPECT OR DROP
El pipeline event log es la fuente estructurada para progreso, calidad, linaje y errores, y debe consultarse usando campos documentados.
+
EXPECT OR DROP
El pipeline event log es la fuente estructurada para progreso, calidad, linaje y errores, y debe consultarse usando campos documentados.
Los eventos `flow_progress` incluyen estado, métricas y `data_quality` dentro de `details`. `origin` identifica pipeline, update y flow. La función `event_log(TABLE(...))` permite consultar el log asociado a una tabla del pipeline desde SQL y construir tendencias por expectation.
No todo campo interno es contrato público. Las consultas operativas seleccionan campos documentados y toleran ausencia de métricas en eventos que no sean de progreso. Conservar `update_id`, nombre de flow y timestamp permite relacionar una caída de calidad con despliegue y lote.
Modelo mental
El pipeline event log es la bitácora estructurada de una ejecución declarativa. Registra eventos de actualización, flows, progreso, calidad, linaje, configuración y errores con un schema documentado y campos JSON para detalles. No es una tabla de negocio ni conviene depender de campos internos no documentados, porque pueden cambiar. La lectura comienza por identificar update y flow, ordenar por la secuencia del evento y extraer únicamente estructuras soportadas. Una fila aislada rara vez cuenta la historia completa: se correlacionan inicio, progreso y final de la misma actualización. Publicar el event log como tabla de Unity Catalog facilita permisos, retención y consultas cross-pipeline. Las expectations `warn` y `drop` producen métricas consultables; una violación `fail` aborta y puede no registrar contadores equivalentes, por lo que se combina el error del flow con datos de entrada y logs.
Instancia identificable de actualización del pipeline que agrupa planificación, ejecución de flows y resultado final bajo una misma operación.
Es la unidad correcta para correlacionar eventos y evitar mezclar métricas de ejecuciones concurrentes o sucesivas.Metadato estructurado que permite ordenar y relacionar eventos distribuidos del pipeline más fiablemente que un timestamp aislado.
Hace posible reconstruir causalidad durante fallos y distinguir progreso anterior de mensajes posteriores de cierre.Atributo del schema que Databricks declara apto para consumo de clientes y cuya semántica está publicada oficialmente.
Reduce roturas al evitar dashboards dependientes de detalles internos que pueden cambiar sin contrato público.SELECT
timestamp,
origin.update_id AS update_id,
origin.flow_name AS flow_name,
details:flow_progress.status::STRING AS status,
details:flow_progress.data_quality:expectations AS expectations
FROM event_log(TABLE(main.silver.orders_silver))
WHERE event_type = 'flow_progress'
ORDER BY timestamp DESC
LIMIT 100;Normaliza el array de expectations en una vista operativa para calcular tasas por regla y actualización.
Puntos clave
- Filtra `event_type = 'flow_progress'` antes de interpretar métricas de flow.
- El JSON `details` se analiza con rutas documentadas y tipos explícitos.
- Event log complementa, no sustituye, una reconciliación de negocio.
Evita
- Consultar cualquier evento como si contuviera `flow_progress` y generar nulos difíciles de interpretar.
- Construir dependencias permanentes sobre campos internos no documentados del JSON.
Recuerdo activo