全部产品
云市场

ALTER TABLE

更新时间:2019-04-01 17:07:48

更改分区表分区

添加分区

语法

  1. ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec [LOCATION 'location'][, PARTITION partition_spec [LOCATION 'location'], ...];
  2. partition_spec:
  3. : (partition_column = partition_col_value, partition_column = partition_col_value, ...)

注意: 新增分区时使用IF NOT EXISTS,且新增分区已存在时,新的LOCATION会覆盖原有分区所指向的目录。

示例

  1. alter table test_opencsv_part add partition(dt = 'bar') location 'oss://oss-cn-beijing-for-openanalytics-test/datasets/test/test_opencsv_part/dt=foo/';

删除分区

语法

  1. ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec[, PARTITION partition_spec, ...];

注意:

  • 删除分区命令目前只支持以分区列名=分区列值指定删除指定分区。不支持以表达式指定分区值,例如partitionCol > 100

  • 如果已经删除的分区目录符合分区命名规则即分区列名=分区列值,则执行MSCK命令将自动添加已经删除的分区。

示例

  1. ALTER TABLE order_part DROP
  2. PARTITION (dt='2008-08-08', status='ready');