共用方式為


ALTER TABLE PARTITION

適用於: 核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

加入、卸除、重新命名或復原數據表的數據分割。

Delta Lake 數據表不支援管理分割區。

語法

ALTER TABLE table_name
   { ADD PARTITION clause |
     DROP PARTITION clause |
     PARTITION SET LOCATION clause |
     RENAME PARTITION clause |
     RECOVER PARTITIONS clause }

ADD PARTITION 子句

將一個或多個分割區新增至資料表。

語法

ADD [IF NOT EXISTS] { PARTITION clause [ LOCATION path ] } [...]

參數

  • IF NOT EXISTS

    選擇性子句,指示 Azure Databricks 在分割區已經存在時忽略 語句。

  • PARTITION 子句

    要加入的數據分割。 數據分割索引鍵必須符合數據表的數據分割,且與值相關聯。 如果分割區已經存在,除非已指定,否則 IF NOT EXISTS 會引發錯誤。

  • LOCATION path

    path 必須是 STRING 常值,表示指向數據分割的選擇性位置。

    如果未指定任何位置,則位置會衍生自數據表的位置和數據分割索引鍵。

    如果有檔案存在於數據分割的位置,則必須與 data_source 數據表及其選項相容。

DROP PARTITION 子句

從數據表卸除一或多個分割區,選擇性地刪除分割區位置的任何檔案。

語法

DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]

參數

  • IF EXISTS

    當您指定 IF EXISTS Azure Databricks 時,會忽略嘗試卸除不存在的數據分割。 否則,非現有的分割區會造成錯誤。

  • PARTITION 子句

    指定要卸除的數據分割。 如果分割區只是部分識別,則會卸除分割區配量。

  • PURGE

    如果設定,即使目錄已設定數據,數據表目錄也必須略過垃圾桶資料夾來移除資料分割數據。 此選項僅適用於 Managed 資料表。 只有在:

    檔案系統支援垃圾桶資料夾。 目錄已設定為將卸除的數據分割移至垃圾桶資料夾。 AWS S3 中沒有垃圾桶資料夾,因此無效。

    卸除分割區之後,不需要手動刪除檔案。

RENAME PARTITION 子句

取代分割區的索引鍵。

語法

from_partition_clause RENAME TO to_partition_clause

參數

RECOVER PARTITIONS 子句

這個子句不適用於 Delta Lake 數據表。

指示 Azure Databricks 掃描資料表的位置,並將任何檔案新增至已直接新增至檔案系統的資料表。

語法

RECOVER PARTITIONS

參數

PARTITION SET LOCATION 子句

移動數據分割的位置。

語法

PARTITION clause SET LOCATION path

參數

  • PARTITION 子句

    識別要變更位置的數據分割。

  • LOCATION path

    path 必須是 STRING 常值。 指定分割區的新位置。

    原始位置中的檔案將不會移至新位置。

範例

請參閱 ALTER TABLE 範例