Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Actualizaciones y Eliminaciones Básicas de Datos | Conceptos Fundamentales de Databricks
Fundamentos de Databricks: Guía Para Principiantes

Actualizaciones y Eliminaciones Básicas de Datos

Desliza para mostrar el menú

Note
Definición

En los Data Lakes estándar, actualizar o eliminar una sola fila es casi imposible sin reescribir todo el conjunto de datos. Debido a que Delta Lake utiliza un registro de transacciones, admite los comandos SQL estándar UPDATE y DELETE, lo que permite modificaciones precisas en tus tablas.

En la sección anterior, se abordó la lectura y el resumen de datos. Sin embargo, los datos rara vez son estáticos: es posible que se detecte un lote de registros de diamantes con precios incorrectos o que sea necesario eliminar un tipo específico de "cut" de los informes.

Como la tabla diamonds es una tabla Delta, se puede modificar igual que una base de datos tradicional.

1. Actualización de registros

El comando UPDATE permite cambiar valores en filas específicas que cumplen una condición. Por ejemplo, si todos los diamantes con corte "Fair" reciben un aumento de precio del 10%:

UPDATE workspace.workshop.diamonds
SET price = price * 1.1
WHERE cut = 'Fair'
  • SET — Define el nuevo valor para la columna
  • WHERE — Fundamental. Sin una cláusula WHERE, se actualizaría el precio de todos los diamantes en toda la tabla

2. Eliminación de registros

El comando DELETE elimina filas de la tabla de forma permanente. Se utiliza cuando los datos ya no son relevantes o fueron ingresados por error.

DELETE FROM workspace.workshop.diamonds
WHERE carat > 5.0

Este comando identifica todos los diamantes de más de 5 quilates y los elimina de la versión activa de la tabla.

3. Verificación después de la modificación

Después de ejecutar una actualización o eliminación, siempre se debe verificar el cambio con un simple SELECT count para asegurar que la operación se realizó como se esperaba.

-- Verify how many 'Fair' diamonds are left (count should be the same, but prices changed)
SELECT count(*) FROM workspace.workshop.diamonds WHERE cut = 'Fair'

4. Seguridad de las actualizaciones en Delta

Cuando se ejecuta DELETE o UPDATE, Delta Lake no borra los datos de los archivos antiguos directamente. En su lugar, sigue un proceso de tres pasos:

  1. Marca los archivos antiguos como "inválidos"
  2. Escribe nuevos archivos que contienen los datos actualizados
  3. Registra el cambio en el Transaction Log

Por esta razón, Time Travel sigue funcionando incluso después de una eliminación: los datos antiguos continúan existiendo en versiones anteriores de los archivos de la tabla hasta que el historial se purga manualmente.

5. Mejor práctica: Prueba con SELECT

Antes de ejecutar un DELETE o UPDATE, siempre prueba tu filtro primero con un SELECT.

  • En lugar de: DELETE FROM diamonds WHERE color = 'J'
  • Prueba primero: SELECT * FROM diamonds WHERE color = 'J'

Si los resultados del SELECT muestran exactamente lo que deseas eliminar, puedes proceder de forma segura con el comando DELETE.

1. ¿Qué sucede si ejecutas un comando UPDATE sin una cláusula WHERE?

2. ¿Ejecutar un comando DELETE en una tabla Delta borra inmediatamente los datos del almacenamiento en la nube subyacente para siempre?

question mark

¿Qué sucede si ejecutas un comando UPDATE sin una cláusula WHERE?

Selecciona la respuesta correcta

question mark

¿Ejecutar un comando DELETE en una tabla Delta borra inmediatamente los datos del almacenamiento en la nube subyacente para siempre?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 4

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 4
some-alt