Puedes leer sin crear un espacio. Créalo solo cuando quieras guardar.
Guardar progresoLección 4 de 5
MERGE e idempotencia
Schema enforcement rechaza incompatibilidades; schema evolution acepta cambios configurados de forma explícita.
17 min aprox.
04DiagnósticoMERGE e idempotencia
Schema enforcement rechaza incompatibilidades; schema evolution acepta cambios configurados de forma explícita.
+
MERGE e idempotencia
Schema enforcement rechaza incompatibilidades; schema evolution acepta cambios configurados de forma explícita.
Enforcement evita escribir columnas o tipos incompatibles con el contrato. Evolution puede añadir columnas durante append o merge cuando se habilita por operación o configuración soportada.
Aceptar columnas nuevas no significa aceptar cualquier cambio de tipo o semántica. Bronze puede ser más tolerante; Silver debe controlar contrato, nulos y consumidores.
(incoming.write
.format("delta")
.mode("append")
.option("mergeSchema", "true")
.saveAsTable("main.bronze.orders"))Registra columnas nuevas y prueba consumidores antes de propagarlas a Silver.
¿mergeSchema convierte cualquier tipo incompatible?
Profundiza
Schema enforcement protege la tabla frente a escrituras incompatibles; schema evolution modifica el contrato bajo una autorización explícita. Enforcement compara nombres, tipos y estructura con el esquema de destino y evita aceptar silenciosamente datos imposibles. Evolution puede añadir columnas o realizar cambios soportados cuando se habilita en la operación adecuada. No es una licencia para que una columna cambie de significado o para activar autoMerge global sin revisión. Bronze puede tolerar atributos nuevos para no perder ingestión; Silver debe decidir si son válidos, cómo se rellenan históricamente y qué consumidores se rompen. El esquema es sintaxis, mientras el contrato incluye semántica y calidad.
Validación en escritura que rechaza datos que no cumplen el esquema admitido por la tabla.
Evita corrupción silenciosa y hace visibles los cambios de productor.Cambio controlado del esquema de destino durante operaciones compatibles.
Permite adaptar columnas sin desactivar la protección general.Funcionalidad Delta que identifica columnas más allá de su nombre físico y habilita ciertos cambios de metadatos.
Afecta renombres, drops y compatibilidad de clientes.Resumen
Puntos clave
- Enforcement protege el contrato
- Evolution es opt-in
- Cambio sintáctico no garantiza compatibilidad semántica
Evita
- Activar autoMerge global sin gobernanza
- Cambiar STRING a INT suponiendo evolución automática