共用方式為


REORG TABLE

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 11.3 LTS 和更新版本

重寫檔案以清除虛刪除的數據,例如 ALTER TABLE DROP COLUMN 卸除的數據行數據,以重新組織 Delta Lake 數據表。

語法

REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
                             APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )

針對 15.4 TABLE 之前的 Databricks Runtime 版本,是必要關鍵詞。

注意

  • APPLY (PURGE) 只會重寫包含虛刪除資料的檔案。
  • APPLY (UPGRADE) 可能會重寫所有檔案。
  • REORG TABLE等冪,這表示如果在相同的數據集上執行兩次,則第二次執行沒有任何作用。
  • 執行 APPLY (PURGE)之後,虛刪除的數據可能仍存在於舊檔案中。 您可以執行 VACUUM 以實際刪除舊檔案。

參數

  • table_name

    識別現有的 Delta 數據表。 名稱不得包含 時態規格或選項規格

  • WHEREpredicate

    針對 APPLY (PURGE),重新組織符合指定數據分割述詞的檔案。 僅支援涉及分割區索引鍵屬性的篩選。

  • APPLY (PURGE)

    指定檔案重寫的目的是要清除虛刪除的數據。 請參閱 清除僅限元數據刪除以強制數據重寫

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    適用於: 核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 14.3 和更新版本

    指定檔案重寫的目的是將數據表升級至指定的 Iceberg 版本。 version 必須是 12

範例

> 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));