更新时间:2026-07-03 GMT+08:00
分享

重命名分区

功能描述

修改OBS分区表中某个分区的分区值。该命令仅支持操作OBS表,不支持对管理表进行操作。

语法格式

ALTER TABLE table_name
   PARTITION partition_specs
   RENAME TO PARTITION partition_specs;

参数说明

参数

描述

table_name

表名称。

partition_specs

分区规格,格式为 (col1=val1, col2=val2, ...)。RENAME TO 前为原分区值,后为新分区值。若分区表有多个分区列,需指定所有分区列的值,顺序可任意。

注意事项

  • 该命令仅支持操作OBS表,不支持对管理表进行操作。
  • 所要重命名分区的表和分区必须已存在,否则会出错。新分区名不能与其他分区重名,否则将出错。
  • 若分区表是按照多个字段进行分区的,重命名分区时需要指定所有的分区字段,指定字段的顺序可任意。
  • partition_specs 中的参数默认带有 ( ),例如:PARTITION (dt='2009-09-09', city='xxx')。

示例1:单分区列重命名

将表 log_data 中分区 year=2023 重命名为 year=2024。

ALTER TABLE log_data
  PARTITION (year='2023')
  RENAME TO PARTITION (year='2024');

示例2:多分区列重命名

将表 student 中分区 city='city1', dt='2023-01-01' 重命名为 city='city2', dt='2023-06-01'。

ALTER TABLE student
  PARTITION (city='city1', dt='2023-01-01')
  RENAME TO PARTITION (city='city2', dt='2023-06-01');

示例3:日期分区重命名

将表 sales 中日期分区 dt='2023-12-31' 重命名为 dt='2024-01-01'。

ALTER TABLE sales
  PARTITION (dt='2023-12-31')
  RENAME TO PARTITION (dt='2024-01-01');

示例4:分区值变更(仅修改部分分区列值)

将表 event_log 中分区 region='east', type='click' 重命名为 region='west', type='click',仅修改 region 列值。

ALTER TABLE event_log
  PARTITION (region='east', type='click')
  RENAME TO PARTITION (region='west', type='click');

相关文档