Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 3 de 5
Expectations y cuarentena
Calidad se diseña como rutas: observación para señales, cuarentena para filas reparables y fallo para invariantes que invalidan el target.
- Duración
- 30 min aprox.
- Objetivo
- Calidad se diseña como rutas: observación para señales, cuarentena para filas reparables y fallo para invariantes que invalidan el target.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
Proyecto de pipeline declarativo
Construye una cadena declarativa con calidad, CDC, orquestación y operación documentada.
- Entregar datasets incrementales fiables
- Probar dependencias y reglas
- Operar fallos y backfills
03OperaciónExpectations y cuarentena
Calidad se diseña como rutas: observación para señales, cuarentena para filas reparables y fallo para invariantes que invalidan el target.
+
Expectations y cuarentena
Calidad se diseña como rutas: observación para señales, cuarentena para filas reparables y fallo para invariantes que invalidan el target.
Pedidos sin ID van a cuarentena con archivo y motivo. Monedas desconocidas pueden observarse mientras negocio decide. Un importe negativo en una tabla financiera puede fallar la actualización. La clasificación compartida evita que una fila desaparezca entre filtros inconsistentes.
El event log alimenta un dashboard por update y flow. La aceptación incluye casos para cada acción, una tasa máxima y un procedimiento de reentrada. Proteger la cuarentena con permisos más estrictos evita convertir observabilidad en fuga de PII.
Modelo mental
La calidad productiva se diseña como rutas y umbrales, no como una colección de constraints idénticas. Observación conserva y mide anomalías tolerables; cuarentena aísla filas reparables con procedencia; fail protege invariantes que harían inválido todo el target. Una misma regla puede evolucionar entre rutas después de medir impacto, pero el cambio se versiona. La arquitectura evalúa reglas comunes una vez y deriva flows coherentes, evitando que válido y cuarentena discrepen. Un umbral agregado puede escalar de drop a fallo cuando la tasa sugiere problema sistémico. El event log aporta métricas por expectation y una tabla operacional conserva tendencias y ownership. Para eventos con PII, muestras y cuarentena se enmascaran y gobiernan. Reingreso usa el mismo contrato y clave, y la salida final no se declara correcta hasta reconciliar filas válidas, descartadas y pendientes.
Tratamiento que conserva filas y publica métricas de una regla para calibrar riesgo sin alterar inmediatamente la salida procesada.
Permite introducir controles nuevos y estimar falsos positivos antes de decidir una acción destructiva o bloqueante.Tratamiento que aparta registros reparables del target canónico conservando payload mínimo, procedencia, reglas, owner y estado de remediación.
Protege consumidores sin perder capacidad de investigación, corrección y reingreso idempotente.Propiedad cuya violación impide interpretar o reconciliar el conjunto completo y obliga a abortar la actualización afectada.
Justifica fail por impacto estructural y evita usarlo indiscriminadamente para cualquier anomalía opcional.@dp.table(name="orders_silver")
@dp.expect("known_currency", "currency IN ('EUR', 'USD', 'GBP')")
@dp.expect_or_fail("non_negative_amount", "amount >= 0")
def orders_silver():
return (
spark.readStream.table("orders_classified")
.where("size(failure_reasons) = 0")
.drop("failure_reasons")
)La rama `orders_quarantine` materializa las filas donde `failure_reasons` no está vacía.
Puntos clave
- Regla, acción y remediación se prueban conjuntamente.
- Cuarentena es un producto operado con retención y acceso, no un vertedero permanente.
- Event log ofrece métricas; reconciliación externa valida completitud y exactitud.
Evita
- Aplicar `expect_or_drop` y afirmar que existe cuarentena aunque no se conserve la fila.
- Fallar por una regla reparable de baja severidad y consumir innecesariamente el SLO de frescura.
Recuerdo activo