REORG TABLE
Область применения: Databricks SQL
Databricks Runtime 11.3 LTS и выше
Переорганизуйте таблицу Delta Lake, перезаписав файлы для очистки мягко удаленных данных, таких как столбцы данных, удаленные с помощью ALTER TABLE DROP COLUMN.
Синтаксис
REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
Для версий Среды выполнения Databricks до 15.4 TABLE
является обязательным ключевым словом.
Примечание.
-
APPLY (PURGE)
перезаписывает только файлы, содержащие обратимо удаленные данные. -
APPLY (UPGRADE)
может перезаписать все файлы. -
REORG TABLE
является идемпотентным, то есть если он выполняется дважды в одном наборе данных, второй запуск не влияет. - После выполнения
APPLY (PURGE)
обратимо удаленные данные могут по-прежнему существовать в старых файлах. Вы можете запустить VACUUM для физического удаления старых файлов.
Параметры
-
Определяет существующую таблицу Delta. Имя не должно включать темпоральную спецификацию или спецификацию параметров.
WHERE
predicateДля
APPLY (PURGE)
переорганизует файлы, соответствующие заданному предикату раздела. Поддерживаются только фильтры с атрибутами ключа секции.APPLY (PURGE)
Указывает, что целью перезаписи файлов является очистка обратимо удаленных данных. Чтобы принудительно перезаписать данные, см. статью "Очистка только метаданных".
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))
Область применения:
Databricks SQL
Databricks Runtime 14.3 и более поздних версий
Указывает, что цель перезаписи файлов — обновить таблицу до заданной версии Iceberg.
version
должен быть либо1
, либо2
.
Примеры
> 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));