REORG TABLE
Se aplica a: Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
Reorganice una tabla Delta Lake reescribiendo archivos para purgar los datos eliminados temporalmente, como los datos de columna descartados por ALTER TABLE DROP COLUMN.
Sintaxis
REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
En el caso de las versiones de Databricks Runtime anteriores a la versión 15.4 TABLE
, es una palabra clave obligatoria.
Nota:
APPLY (PURGE)
solo reescribe los archivos que contienen datos eliminados temporalmente.APPLY (UPGRADE)
puede reescribir todos los archivos.REORG TABLE
es idempotente, lo que significa que si se ejecuta dos veces en el mismo conjunto de datos, la segunda ejecución no tiene ningún efecto.- Después de ejecutar
APPLY (PURGE)
, es posible que los datos eliminados temporalmente sigan existiendo en los archivos antiguos. Puede ejecutar VACUUM para eliminar físicamente los archivos antiguos.
Parámetros
-
Identifica una tabla de Delta existente. El nombre no debe incluir una especificación temporal ni una especificación de opciones.
WHERE
predicadoPara
APPLY (PURGE)
, reorganiza los archivos que coinciden con el predicado de partición especificado. Solo se admiten los filtros que implican atributos clave de la partición.APPLY (PURGE)
Especifica que el propósito de la reescritura de archivos es purgar los datos eliminados temporalmente. Consulte Purga de eliminaciones de solo metadatos para forzar la reescritura de datos.
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))
Se aplica a: Databricks SQL Databricks Runtime 14.3 y versiones posteriores
Especifica que el propósito de la reescritura de archivos es actualizar la tabla a la versión de Iceberg dada.
version
debe ser1
o2
.
Ejemplos
> REORG TABLE events APPLY (PURGE);
> REORG TABLE events WHERE date >= '2022-01-01' APPLY (PURGE);
> REORG TABLE events
WHERE date >= current_timestamp() - INTERVAL '1' DAY
APPLY (PURGE);
> REORG TABLE events APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));