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.
- Consumir Change Data Feed
- Modelar CDC con AUTO CDC y reconocer APPLY CHANGES
- Elegir SCD tipo 1 o 2
05Decisión de diseñoSCD 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.
+
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.
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.
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.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.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.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"] > 0La 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