Saltar al contenido
Lakehouse LabLakehouse LabPreparación Databricks Data Engineer
Módulo 22 · Lección

Expectations y cuarentena

Contenido abierto

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.

Al terminar podrás
  • Entregar datasets incrementales fiables
  • Probar dependencias y reglas
  • Operar fallos y backfills
Ver fuentes y revisión

Metadatos editoriales

Última revisión
21 jul 2026
Nivel
Professional
Ruta relacionada
pipelines
Dominios blueprint
Production pipelines
Estado
Revisión editorial interna
Fuentes principales
Best practices for Spark Declarative Pipelines · Databricks · AUTO CDC APIs · Databricks
Reportar un error
03
Operación

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.

Mostrar prerrequisitos
Dificultad
Professional
Prerrequisitos
m21
Reportar un error en esta lección

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.

Ruta de observación

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.
Ruta de cuarentena

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.
Invariante bloqueante

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.
PySparkContrato crítico en silver
@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

¿Qué evidencia demuestra que una regla de cuarentena funciona?

Borrador privado · solo en este navegador
5 lecciones pendientes

Fuente revisada · vista externa

Databricks Free Declarative Pipelines

Databricks Free Declarative Pipelines · commit a515370

docs/3-2-building-bronze-sql.md

Lectura en GitHub

Este notebook se abre desde su fuente revisada

El repositorio no permite republicar su contenido dentro de Lakehouse Lab. Conservamos la misma experiencia lateral, la ruta exacta y el commit auditado, y dejamos la lectura en GitHub para respetar la autoría.

Autor
andkret
Licencia
No verificada
Formato
project
Ver notebook en GitHub