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