共用方式為


ALTER TABLE... PARTITION

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

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

Delta Lake tables不支援管理分割區。

語法

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

ADD PARTITION 子句

將一或多個分割區新增至 table。

Delta Lake tables不支援管理分割區。

語法

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

Parameters

  • IF NOT EXISTS

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

  • PARTITION 子句

    要加入一個 partition。 partition 鍵必須與 table 的分區一致,並與 values相關聯。 如果 partition 已經存在,除非已指定 IF NOT EXISTS,否則會引發錯誤。

  • LOCATION path

    path 必須是 STRING 常值,代表指向 partition的選擇性位置。

    如果未指定任何位置,則位置會從 table 和 partition 鍵的位置推導出來。

    如果有檔案存在於 partition 的位置,那麼它們會填入該處,並且必須與 table 及其選項中相關的 data_source 相容。

DROP PARTITION 子句

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

Delta Lake tables不支援管理分割區。

語法

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

Parameters

  • IF EXISTS

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

  • PARTITION 子句

    指定要卸除的 partition。 如果 partition 只部分地識別了分割區,那麼其中部分會被移除。

  • PURGE

    如果 set,則即使 catalog 已設定垃圾桶資料夾,tablecatalog 也必須略過垃圾桶資料夾來 removepartition 數據。 這個選項僅適用於 Managed tables。 只有在:

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

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

RENAME PARTITION 子句

替換 partition的鍵。

Delta Lake tables不支援管理分割區。

語法

from_partition_clause RENAME TO to_partition_clause

Parameters

RECOVER PARTITIONS 子句

這個子句不適用於 Delta Lake tables。

指示 Azure Databricks 掃描 table的位置,並將任何直接新增到文件系統的檔案加入到 table。

Delta Lake tables不支援管理分割區。

語法

RECOVER PARTITIONS

Parameters

PARTITION SET LOCATION 子句

移動 partition的位置。

Delta Lake tables不支援管理分割區。

語法

PARTITION clause SET LOCATION path

Parameters

  • PARTITION 子句

    識別即將要變更位置的 partition。

  • LOCATION path

    path 必須是 STRING 常值。 指定 partition的新位置。

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

範例

請參閱 ALTER TABLE範例。