ALTER TABLE PARTITION

適用于: check marked yes Databricks SQL check marked yes 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 範例