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 子句

向表中添加一个或多个分区。

Delta Lake 表不支持管理分区。

语法

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 子句

从表中删除一个或多个分区,选择性地删除分区位置的任何文件。

Delta Lake 表不支持管理分区。

语法

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

参数

  • IF EXISTS

    指定 IF EXISTS 时,Azure Databricks 将忽略删除不存在的分区的尝试。 否则,不存在的分区将导致错误。

  • PARTITION 子句

    指定要删除的分区。 如果仅部分标识了分区,则删除分区的切片。

  • PURGE

    如果设置此项,则即使目录已配置了回收文件夹,表目录也必须通过跳过该文件夹来删除分区数据。 此选项仅适用于托管表。 它只在以下情况下有效:

    文件系统支持回收站文件夹。 目录已配置为将已删除的分区移动到回收站文件夹。 AWS S3 中没有任何回收站文件夹,因此它无效。

    删除分区后,无需手动删除文件。

RENAME PARTITION 子句

替换分区的键。

Delta Lake 表不支持管理分区。

语法

from_partition_clause RENAME TO to_partition_clause

参数

RECOVER PARTITIONS 子句

此子句不适用于 Delta Lake 表。

指示 Azure Databricks 扫描表的位置,并将已直接添加到文件系统的任何文件添加到表中。

Delta Lake 表不支持管理分区。

语法

RECOVER PARTITIONS

parameters

PARTITION SET LOCATION 子句

移动分区的位置。

Delta Lake 表不支持管理分区。

语法

PARTITION clause SET LOCATION path

参数

  • PARTITION 子句

    确定要更改位置的分区。

  • LOCATION path

    path 必须是 STRING 文本。 指定分区的新位置。

    原始位置中的文件不会移动到新位置。

示例

请参阅 ALTER TABLE 示例