適用於:
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 子句
將一或多個分割區新增至數據表。
Delta Lake 數據表不支援管理分割區。
語法
ADD [IF NOT EXISTS] { PARTITION clause [ LOCATION path ] } [...]
參數
IF NOT EXISTS選擇性子句,指示 Azure Databricks 在分割區已經存在時忽略 語句。
-
要加入的分區。 數據分割索引鍵必須符合數據表的數據分割,且與值相關聯。 如果分割區已經存在,除非已指定
IF NOT EXISTS,否則會引發錯誤。 LOCATION pathpath必須是STRING常值,代表指向分割區的可選位置。如果未指定位置,則會從數據表的位置和分區鍵中推導出位置。
如果有檔案存在於該位置,它們會填充分區,並且必須與數據表的
data_source及其選項相容。
DROP PARTITION 子句
從數據表卸除一或多個分割區,選擇性地刪除分割區位置的任何檔案。
Delta Lake 數據表不支援管理分割區。
語法
DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]
參數
IF EXISTS當您指定
IF EXISTSAzure Databricks 時,會忽略嘗試刪除不存在的分區。 否則,不存在的分割區會造成錯誤。-
指定要刪除的分區。 如果分割區只有部分識別,則會刪除部分分割區。
PURGE如果已設定,即使目錄已設定了垃圾桶資料夾,表目錄仍必須略過垃圾桶資料夾以移除分區數據。 此選項僅適用於 Managed 資料表。 只有當符合下列條件時:
檔案系統支援垃圾桶資料夾。 資料目錄已設定為將刪除的分區移至垃圾資料夾。 AWS S3 中沒有垃圾桶資料夾,因此無效。
卸除分割區之後,不需要手動刪除檔案。
RENAME PARTITION 子句
取代分割區的鍵值。
Delta Lake 數據表不支援管理分割區。
語法
from_partition_clause RENAME TO to_partition_clause
參數
-
要重新命名的分區定義。
-
這個分割區的新定義。 具有相同鍵值的分割區不能已經存在。
RECOVER PARTITIONS 子句
這個子句不適用於 Delta Lake 數據表。
指示 Azure Databricks 掃描數據表的位置,並將任何檔案新增至已直接新增至文件系統的數據表。
Delta Lake 數據表不支援管理分割區。
語法
RECOVER PARTITIONS
參數
無
PARTITION SET LOCATION 子句
移動分區的位置。
Delta Lake 數據表不支援管理分割區。
語法
PARTITION clause SET LOCATION path
參數
-
要變更位置的分割區識別。
LOCATION pathpath必須是STRING文字表達式。 指定分割區的新位置。原始位置中的檔案將不會移至新位置。
範例
請參閱 ALTER TABLE範例。