Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 1 de 5
CDC, CDF y sus diferencias
Delta Change Data Feed expone cambios confirmados de una tabla junto con su tipo, versión y timestamp de commit para consumo incremental.
- Duración
- 17 min aprox.
- Objetivo
- Delta Change Data Feed expone cambios confirmados de una tabla junto con su tipo, versión y timestamp de commit para consumo incremental.
- Siguiente paso
- Continuar con la siguiente lección
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
01Modelo mentalCDC, CDF y sus diferencias
Delta Change Data Feed expone cambios confirmados de una tabla junto con su tipo, versión y timestamp de commit para consumo incremental.
+
CDC, CDF y sus diferencias
Delta Change Data Feed expone cambios confirmados de una tabla junto con su tipo, versión y timestamp de commit para consumo incremental.
Al habilitar `delta.enableChangeDataFeed`, las versiones futuras pueden leerse con `readChangeFeed=true`. La salida incluye `_change_type`, `_commit_version` y `_commit_timestamp`; los updates generan imágenes previa y posterior. CDF no reconstruye cambios anteriores a su activación.
El historial disponible depende de la retención de la tabla y de `VACUUM`. Un consumidor que permanezca caído más allá del horizonte puede no recuperar versiones antiguas. Por eso el SLA de recuperación debe relacionar retención, máxima indisponibilidad y una alternativa de snapshot.
Modelo mental
Change Data Feed convierte el historial transaccional de una tabla en una interfaz incremental de cambios por fila. En lugar de comparar snapshots completos, el consumidor solicita versiones y recibe inserts, deletes y, para updates, imágenes anteriores y posteriores junto con versión y timestamp de commit. La frontera importante es el commit Delta: todos los cambios de una transacción comparten versión, aunque su orden de filas dentro de ella no sea una secuencia de negocio. CDF facilita replicación, auditoría y ETL incremental, pero no constituye una copia permanente e independiente del historial; su disponibilidad depende de la retención de la tabla y de las políticas aplicables. En 2026 Databricks distingue el change data feed automático, calculado al leer mediante row lineage cuando es compatible, y el legado materializado durante escrituras. Ambos se consumen con las APIs documentadas, pero sus prerrequisitos y costes operativos deben comprobarse.
Interfaz que expone cambios de filas confirmados entre versiones de una tabla con metadatos de tipo y commit.
Permite procesamiento incremental sin escanear y comparar snapshots completos en cada ejecución.Número monotónico que identifica una transacción Delta dentro del historial de una tabla.
Sirve como frontera reproducible para checkpoints y replays, pero no sustituye la secuencia de negocio de la fuente.Valores anterior y posterior que CDF puede emitir para una fila actualizada.
Distinguirlos evita duplicar entidades y permite elegir entre auditoría completa y aplicación del estado vigente.spark.sql("""
ALTER TABLE main.bronze.customers
SET TBLPROPERTIES (delta.enableChangeDataFeed = true)
""")
changes = (
spark.readStream
.option("readChangeFeed", "true")
.table("main.bronze.customers")
.where("_change_type IN ('insert', 'update_postimage', 'delete')")
)En un stream nuevo se puede fijar `startingVersion`; al reanudar, el checkpoint conserva la posición.
Puntos clave
- CDF se habilita antes de los cambios que se quieren capturar.
- `update_preimage` y `update_postimage` representan dos vistas del mismo update.
- La versión de commit ordena cambios Delta; el timestamp ayuda a auditoría, pero no sustituye la secuencia de origen.
Evita
- Esperar que habilitar CDF genere retroactivamente cambios de versiones anteriores.
- Consumir preimages y postimages como dos actualizaciones independientes y duplicar efectos.
Recuerdo activo