¿Cómo eliminar los datos de la tabla Delta?
Estaba intentando eliminar datos de la tabla Delta.
Cuando ejecuto la consulta siguiente, estoy obteniendo alrededor de 500 o 1000 registros de datos.
SELECT * FROM table1 inv
join (SELECT col1, col2, col2, min(Date) minDate, max(Date) maxDate FROM table2 a GROUP BY col1, col2, col3) aux
on aux.col1 = inv.col1 and aux.col2 = inv.col2 and aux.col3 = inv.col3
WHERE Date between aux.minDate and aux.maxDate
Pero cuando intento eliminar esos 500 registros con la siguiente consulta, me sale un error de sintaxis.
DELETE FROM table1 inv
join (SELECT col1, col2, col2, min(Date) minDate, max(Date) maxDate FROM table2 a GROUP BY col1, col2, col3) aux
on aux.col1 = inv.col1 and aux.col2 = inv.col2 and aux.col3 = inv.col3
WHERE Date between aux.minDate and aux.maxDate
Por favor, alguien me ayude aquí.
Gracias de antemano :).
davy.ai
Como experto en tecnología de la información especializado en Databricks, Azure Databricks y Delta Lake, es probable que el error que está recibiendo con la consulta DELETE se deba a que las tablas Delta requieren una cláusula adicional para especificar el comportamiento de control de versiones de la operación DELETE. Debe especificar una columna de control de versiones para permitir que Delta rastree los cambios realizados por la operación.
Para eliminar los registros de la tabla Delta, puede modificar su consulta con la cláusula
OPTION (versionAsOf <número_de_versión>)
para especificar la versión de la que desea eliminar. Aquí hay un ejemplo:Reemplace
<número_de_versión>
con el número de versión desde donde desea eliminar los registros.¡Espero que esto ayude!</número_de_versión></número_de_versión></número_de_versión>