适用于:
Databricks SQL
Databricks Runtime 11.3 LTS 及更高版本
通过重写文件来清除软删除的数据,例如由 DROP ALTER TABLE 操作删除的 COLUMN 列数据,或通过执行 Delta Lake 检查点操作来改进元数据管理,从而重新组织 Delta Lake 表。
语法
REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) |
CHECKPOINT ) }
对于 15.4 TABLE 之前的 Databricks Runtime 版本是必需关键字。
注意
参数
-
标识现有的 Delta 表。 名称不得包含 时态规范或选项规范。
WHERE谓词对于
APPLY (PURGE),重新组织与给定分区谓词匹配的文件。 仅支持涉及分区键属性的筛选器。APPLY (PURGE)指定文件重写的目的是清除软删除的数据。 请参阅清除仅元数据删除以强制重写数据。
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))适用于:
Databricks SQL
Databricks Runtime 14.3 及更高版本指定文件重写的目的是将表升级到给定的 Apache Iceberg 版本。
version须为1或2。APPLY (CHECKPOINT)适用于:
Databricks Runtime 16.3 及更高版本对表的最新 Delta 版本执行 Delta 检查点。
示例
> 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));
> REORG TABLE events APPLY (CHECKPOINT);