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

SCD 1, SCD 2 y borrados

Contenido abierto

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

Lección 5 de 5

SCD 1, SCD 2 y borrados

AUTO CDC FROM SNAPSHOT procesa snapshots ordenados cuando la fuente no ofrece un log de cambios, pero necesita una versión fiable y cobertura completa.

Duración
17 min aprox.
Objetivo
AUTO CDC FROM SNAPSHOT procesa snapshots ordenados cuando la fuente no ofrece un log de cambios, pero necesita una versión fiable y cobertura completa.
Siguiente paso
Continuar con el laboratorio
Ver detalles del módulo

Change Data Feed, CDC, AUTO CDC y SCD

Procesa inserciones, actualizaciones y borrados respetando clave, secuencia y retención.

Al terminar podrás
  • Consumir Change Data Feed
  • Modelar CDC con AUTO CDC y reconocer APPLY CHANGES
  • Elegir SCD tipo 1 o 2
Ver fuentes y revisión

Metadatos editoriales

Última revisión
21 jul 2026
Nivel
Professional
Ruta relacionada
streaming
Dominios blueprint
CDC · Change Data Feed
Estado
Revisión editorial interna
Fuentes principales
Delta Change Data Feed · Databricks · AUTO CDC APIs · Databricks
Reportar un error
05
Decisión de diseño

SCD 1, SCD 2 y borrados

AUTO CDC FROM SNAPSHOT procesa snapshots ordenados cuando la fuente no ofrece un log de cambios, pero necesita una versión fiable y cobertura completa.

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

Algunas bases entregan una extracción completa diaria. Comparar snapshots permite inferir inserts, updates y deletes, y las APIs AUTO CDC FROM SNAPSHOT automatizan esa materialización. Cada snapshot debe tener una versión estrictamente creciente y representar el conjunto completo esperado.

Una extracción parcial confundida con snapshot completo produciría borrados masivos. Antes de publicar se validan conteos, particiones y marcadores de finalización. Si el origen sí ofrece CDC continuo, AUTO CDC normal evita comparar toda la dimensión y reduce latencia.

Modelo mental

AUTO CDC FROM SNAPSHOT resuelve fuentes que no exponen log de cambios: compara snapshots completos consecutivos, deriva inserts, updates y deletes sintéticos y aplica la misma lógica SCD. No recupera transiciones que ocurrieron y se revirtieron entre dos capturas; solo conoce las diferencias observables entre estados. La API actual está disponible en la interfaz Python de Lakeflow pipelines y necesita snapshots en orden ascendente mediante una versión fiable. Un snapshot debe ser completo y coherente para su versión; si llega truncado, el comparador puede interpretar miles de ausencias como deletes legítimos. Por ello, la adquisición publica primero un manifest con conteos, checksum, tiempo de extracción y estado completo. Los snapshots fuera de orden se ignoran según la semántica documentada, así que la versión no puede derivarse de una hora de llegada susceptible a retrasos.

Snapshot completo

Imagen coherente de todas las claves en alcance para una versión concreta de la fuente.

Las ausencias se interpretan como deletes, por lo que incompletitud puede causar pérdida masiva downstream.
Versión de snapshot

Identificador monotónico y estable que ordena las imágenes por su secuencia de extracción lógica.

Permite comparar pares correctos y evita aplicar una entrega retrasada como si fuera el estado más nuevo.
Cambio sintético

Insert, update o delete inferido al comparar dos snapshots, no emitido directamente por el sistema origen.

Aporta incrementalidad, pero no puede revelar transiciones intermedias invisibles entre capturas.
PythonContrato mínimo de un snapshot
snapshot_manifest = {
    "snapshot_version": 2026072101,
    "source_table": "crm.customers",
    "expected_rows": 12_450_230,
    "completed": True,
    "landing_path": "/Volumes/main/landing/customers/2026-07-21/",
}

assert snapshot_manifest["completed"]
assert snapshot_manifest["expected_rows"] > 0

La función que entrega snapshots a AUTO CDC debe ordenar versiones y devolver `None` cuando no haya una nueva disponible.

Puntos clave

  • Snapshot CDC sirve cuando no existe un feed de cambios fiable.
  • La versión del snapshot debe ordenar entregas y no reutilizarse.
  • La completitud se comprueba antes de interpretar ausencias como deletes.

Evita

  • Interpretar una partición ausente por fallo de extracción como eliminación de todos sus clientes.
  • Procesar snapshots fuera de orden y reabrir una versión antigua como si fuera nueva.

Recuerdo activo

¿Qué validación evita deletes falsos al comparar snapshots?

Borrador privado · solo en este navegador
5 lecciones pendientes

Vista de lectura · sin ejecución

change-data-feed.ipynb

Delta Lake examples · commit 82ed214

notebooks/pyspark/change-data-feed.ipynb