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

Schema enforcement y evolution

Contenido abierto

Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.

Lección 3 de 5

Schema enforcement y evolution

DDL define objetos y DML modifica filas; MERGE expresa upsert con condiciones claras.

Duración
17 min aprox.
Objetivo
DDL define objetos y DML modifica filas; MERGE expresa upsert con condiciones claras.
Siguiente paso
Continuar con la siguiente lección
Ver detalles del módulo

Delta Lake: ACID, esquema, historial y DML

Usa el transaction log para construir tablas fiables, auditables e idempotentes.

Al terminar podrás
  • Explicar snapshots y concurrencia optimista
  • Aplicar MERGE, UPDATE y DELETE correctamente
  • Diferenciar tipos de tabla, conversión, schema evolution y time travel
Ver fuentes y revisión

Metadatos editoriales

Última revisión
21 jul 2026
Nivel
Associate + Professional
Ruta relacionada
core
Dominios blueprint
Delta Lake · Data management
Estado
Revisión editorial interna
Fuentes principales
Delta Lake · Convertir a managed con SET MANAGED
Reportar un error
03
Operación

Schema enforcement y evolution

DDL define objetos y DML modifica filas; MERGE expresa upsert con condiciones claras.

Mostrar prerrequisitos
Dificultad
Associate + Professional
Prerrequisitos
m05
Reportar un error en esta lección

CREATE OR REPLACE redefine una tabla de forma atómica; INSERT añade, UPDATE cambia y DELETE elimina filas. MERGE combina coincidencias y no coincidencias desde una fuente.

La fuente de MERGE debe tener como máximo una fila relevante por clave o definir previamente cuál gana. Añade una condición de secuencia para impedir que un evento antiguo sobrescriba uno reciente.

Modelo mental

DDL define estructura y objetos; DML expresa cambios sobre filas. En Delta, CREATE, ALTER o REPLACE modifican metadatos y versiones; INSERT, UPDATE, DELETE y MERGE producen nuevos commits. MERGE no significa simplemente sincronizar: compara una fuente con un destino mediante una condición y aplica cláusulas a filas coincidentes o no coincidentes. Para ser determinista, la fuente debe producir como máximo una versión ganadora por clave y las reglas deben decidir cómo tratar eventos tardíos. UPDATE SET * no corrige una fuente ambigua. Antes de escribir se define clave, secuencia, semántica de borrado y comportamiento de reintento.

DDL

Lenguaje de definición que crea o modifica objetos, esquema y propiedades.

Distingue cambios estructurales de modificaciones de filas.
MERGE

Operación Delta que aplica cláusulas condicionadas según coincidencia entre una fuente y un destino.

Implementa upsert y CDC cuando clave y orden están bien definidos.
Secuencia

Valor monotónico de negocio o fuente que ordena versiones de una misma entidad.

Impide que eventos tardíos reviertan un estado más reciente.
SQLUpsert con secuencia
MERGE INTO main.silver.customers t
USING updates s ON t.customer_id = s.customer_id
WHEN MATCHED AND s.updated_at >= t.updated_at THEN UPDATE SET *
WHEN NOT MATCHED THEN INSERT *;

Deduplica updates por customer_id antes del MERGE.

Puntos clave

  • CREATE OR REPLACE sustituye el objeto
  • MERGE necesita fuente determinista
  • La secuencia protege de eventos antiguos

Evita

  • Múltiples filas fuente para una clave
  • UPDATE sin condición temporal en CDC

Recuerdo activo

¿Por qué condicionar updated_at?

Borrador privado · solo en este navegador
5 lecciones pendientes

Vista de lectura · sin ejecución

01_quickstart.ipynb

Delta Lake examples · commit 82ed214

notebooks/pyspark/01_quickstart.ipynb