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 ) } )
Примечание.
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));