適用於:
Databricks SQL
Databricks Runtime 11.3 LTS 和更新版本
重寫檔案以移除軟刪除的資料,例如 DROP
語法
REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) |
CHECKPOINT |
SET PARQUET ( FORMAT_VERSION = version ) ) }
針對 15.4 之前的 Databricks Runtime 版本,TABLE 是必須的關鍵字。
注意
參數
-
識別現有的 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)適用於:
yes Databricks Runtime 16.3 和更新版本在資料表的最新 Delta 版本上執行 Delta 檢查點。
APPLY (SET PARQUET ( FORMAT_VERSION = version ))適用於:
執行環境 18.2 及以上版本以指定的 Parquet 格式版本重寫所有資料檔案,並更新
delta.parquet.format.version資料表屬性。version必須是’1.0.0’或’2.12.0’。參見 Parquet v2。
範例
> 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);
> REORG TABLE events APPLY (SET PARQUET (FORMAT_VERSION = '2.12.0'));