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

AUTO CDC y el alias anterior APPLY CHANGES

Contenido abierto

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

Lección 4 de 5

AUTO CDC y el alias anterior APPLY CHANGES

SCD tipo 1 conserva el valor vigente; SCD tipo 2 crea intervalos de validez para responder cómo era una dimensión en un momento pasado.

Duración
17 min aprox.
Objetivo
SCD tipo 1 conserva el valor vigente; SCD tipo 2 crea intervalos de validez para responder cómo era una dimensión en un momento pasado.
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.

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
04
Diagnóstico

AUTO CDC y el alias anterior APPLY CHANGES

SCD tipo 1 conserva el valor vigente; SCD tipo 2 crea intervalos de validez para responder cómo era una dimensión en un momento pasado.

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

Tipo 1 sobrescribe atributos y es apropiado para correcciones donde la historia no aporta valor. Tipo 2 conserva versiones con columnas de inicio y fin administradas por el pipeline. Consultas de hechos históricos pueden unir el event time del hecho con el intervalo de la dimensión.

Guardar historia multiplica filas y exige decidir qué columnas disparan una nueva versión. `TRACK HISTORY ON` puede limitar ese conjunto en AUTO CDC. Campos operativos como `ingested_at` no deberían crear una versión de negocio cada vez que cambia.

Modelo mental

SCD tipo 1 y tipo 2 responden preguntas distintas. Tipo 1 representa la mejor versión vigente de cada clave y sobrescribe atributos; es compacto y sencillo, pero no puede responder qué valor se conocía antes. Tipo 2 conserva una fila por periodo de validez, normalmente con fronteras técnicas de inicio y fin, y permite consultas temporales. No todo cambio merece historia: corregir un typo técnico puede no requerir una nueva versión, mientras que dirección, segmento o consentimiento sí pueden afectar hechos y auditoría. La secuencia del CDC define cuándo comienza cada versión, no el instante en que Databricks la procesó. Deletes pueden cerrar el intervalo activo o retirar la fila vigente según el tipo. El modelador debe separar business effective time de system processing time; una SCD2 estándar basada en secuencia no es automáticamente bitemporal ni conserva cuándo se descubrió una corrección.

SCD tipo 1

Modelo que mantiene una única fila vigente por clave y reemplaza atributos con el cambio más reciente.

Es apropiado cuando solo importa el estado actual y minimiza coste y complejidad.
SCD tipo 2

Modelo que conserva múltiples versiones por clave con intervalos de validez no solapados.

Permite análisis as-of y auditoría de atributos cuyo valor histórico afecta decisiones.
Intervalo de validez

Rango temporal durante el cual una versión de dimensión se considera efectiva.

Es la base para joins temporales correctos y para detectar huecos o solapamientos de historia.
SQLAUTO CDC SCD tipo 2 selectivo
CREATE OR REFRESH STREAMING TABLE main.silver.customers_history;

CREATE FLOW customers_history_flow AS AUTO CDC INTO
  main.silver.customers_history
FROM STREAM(main.bronze.customer_cdc)
KEYS (customer_id)
APPLY AS DELETE WHEN operation = 'DELETE'
SEQUENCE BY sequence_number
COLUMNS * EXCEPT (operation)
STORED AS SCD TYPE 2
TRACK HISTORY ON (name, segment, country);

Verifica los nombres de las columnas de control que expone el target antes de diseñar consultas point-in-time.

Puntos clave

  • SCD 1 responde 'cuál es el valor actual'; SCD 2 responde también 'cuál era entonces'.
  • La secuencia determina intervalos; no debe confundirse con la fecha de carga.
  • El conjunto de columnas históricas controla ruido y coste de almacenamiento.

Evita

  • Usar SCD 2 para cada atributo técnico y generar versiones sin valor analítico.
  • Sobrescribir con SCD 1 cuando auditoría o reporting histórico necesitan el valor vigente al producirse el hecho.

Recuerdo activo

¿Qué problema evita `TRACK HISTORY ON` en un target SCD 2?

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