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 在分割區已經存在時忽略 語句。
-
要加入的數據分割。 數據分割索引鍵必須符合數據表的數據分割,且與值相關聯。 如果分割區已經存在,除非已指定,否則
IF NOT EXISTS
會引發錯誤。 LOCATION path
path
必須是STRING
常值,表示指向數據分割的選擇性位置。如果未指定任何位置,則位置會衍生自數據表的位置和數據分割索引鍵。
如果有檔案存在於數據分割的位置,則必須與
data_source
數據表及其選項相容。
DROP PARTITION
子句
從數據表卸除一或多個分割區,選擇性地刪除分割區位置的任何檔案。
語法
DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]
參數
IF EXISTS
當您指定
IF EXISTS
Azure Databricks 時,會忽略嘗試卸除不存在的數據分割。 否則,非現有的分割區會造成錯誤。-
指定要卸除的數據分割。 如果分割區只是部分識別,則會卸除分割區配量。
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
參數
-
識別要變更位置的數據分割。
LOCATION path
path
必須是STRING
常值。 指定分割區的新位置。原始位置中的檔案將不會移至新位置。
範例
請參閱 ALTER TABLE 範例。