Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Visualización del Historial de la Tabla (Fundamentos de Time Travel) | Conceptos Fundamentales de Databricks
Fundamentos de Databricks: Guía Para Principiantes

Visualización del Historial de la Tabla (Fundamentos de Time Travel)

Desliza para mostrar el menú

Note
Definición

Time Travel es una funcionalidad de Delta Lake que permite consultar versiones anteriores de una tabla. Utilizando el Transaction Log, Databricks puede reconstruir el estado de tus datos en cualquier punto de su historial registrado.

Una de las "redes de seguridad" más potentes en Databricks es la capacidad de ver exactamente quién cambió una tabla, cuándo la cambió y cómo se veían los datos antes de ese cambio.

Para nuestra tabla diamonds en workspace.workshop.diamonds, cada actualización o eliminación se rastrea automáticamente.

1. El comando DESCRIBE HISTORY

Para ver la línea de tiempo completa de tus datos, utiliza el comando DESCRIBE HISTORY — proporciona un registro detallado de cada versión de la tabla.

DESCRIBE HISTORY workspace.workshop.diamonds

Al ejecutar este comando, verás una tabla con las siguientes columnas clave:

  • version: un entero que comienza en 0 (la primera vez que se creó la tabla);
  • timestamp: la fecha y hora exactas en que ocurrió el cambio;
  • userName: la persona que realizó la acción;
  • operation: lo que sucedió (por ejemplo, WRITE, UPDATE, DELETE o MERGE);
  • operationParameters: detalles técnicos sobre el cambio.

2. Consultar una versión específica

Si una actualización reciente alteró la columna "Price", es posible consultar una versión anterior específica para ver los valores originales utilizando la sintaxis VERSION AS OF.

-- Look at the diamonds table exactly as it was in Version 0
SELECT * FROM workspace.workshop.diamonds VERSION AS OF 0

3. Consultar por marca de tiempo

Si no se conoce el número de versión pero se sabe que los datos eran correctos en un momento específico, es posible "viajar" atrás usando TIMESTAMP AS OF.

-- Look at the data as it existed at a specific time
SELECT * FROM workspace.workshop.diamonds TIMESTAMP AS OF '2026-02-11 09:00:00'

4. Importancia de esta funcionalidad

En bases de datos tradicionales, si se ejecuta accidentalmente un comando DELETE sin cláusula WHERE, es necesario contactar a un administrador de bases de datos para restaurar una copia de seguridad, un proceso que puede tomar horas.

Con Delta Lake Time Travel, es posible corregir el error en segundos seleccionando los datos de una versión anterior y sobrescribiendo la tabla actual dañada con los datos históricos correctos.

5. Gestión del historial

Por defecto, Delta Lake mantiene 30 días de historial. Aunque es muy útil, almacenar el historial requiere conservar archivos de datos antiguos, pero los archivos de datos subyacentes de las versiones eliminadas/sobrescritas solo se conservan durante 7 días (delta.deletedFileRetentionDuration) antes de que VACUUM pueda eliminarlos.

En entornos profesionales, los ingenieros de datos utilizan el comando VACUUM para limpiar archivos muy antiguos y reducir los costos de almacenamiento. Para este curso, tu historial está seguro y listo para su exploración.

VACUUM es un comando de limpieza que elimina permanentemente los archivos de datos antiguos que Delta Lake ya no necesita — aquellos que quedan después de actualizaciones, eliminaciones o sobrescrituras.

VACUUM workspace.workshop.diamonds

Por defecto, Delta mantiene 30 días de historial de archivos para Time Travel. VACUUM elimina los archivos más antiguos que ese umbral para ahorrar espacio de almacenamiento.

También puedes establecer una ventana de retención personalizada:

VACUUM workspace.workshop.diamonds RETAIN 7 HOURS

1. ¿Qué comando SQL te permite ver la lista de todas las versiones anteriores y operaciones realizadas en una tabla?

2. Actualizaste accidentalmente la tabla diamonds y quieres ver los datos de hace 10 minutos. ¿Qué sintaxis deberías usar?

question mark

¿Qué comando SQL te permite ver la lista de todas las versiones anteriores y operaciones realizadas en una tabla?

Selecciona la respuesta correcta

question mark

Actualizaste accidentalmente la tabla diamonds y quieres ver los datos de hace 10 minutos. ¿Qué sintaxis deberías usar?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 5. Capítulo 3
some-alt