文档首页 > > SQL语法参考> 分区表相关> 添加分区(只支持OBS表)

添加分区(只支持OBS表)

分享
更新时间: 2019/10/28 GMT+08:00

功能描述

添加分区。

语法格式

1
2
3
4
5
ALTER TABLE table_name ADD [IF NOT EXISTS]
  PARTITION partition_specs1
  [LOCATION 'obs_path1']
  PARTITION partition_specs2
  [LOCATION 'obs_path2'];

关键字

无。

注意事项

  • 向表中添加分区时,此表必须已存在,而所要添加的分区不能存在,否则将出错。已存在的分区可通过IF NOT EXISTS避免报错。
  • 若分区表是按照多个字段进行分区的,添加分区时需要指定所有的分区字段,指定字段的顺序可任意。
  • “partition_specs”中的参数默认带有“( )”,例如:PARTITION (dt='2009-09-09',city='Shanghai')
  • 在添加分区时若指定OBS路径,则该OBS路径必须是已经存在的,否则会出错。
  • 若添加多个分区,每组PARTITION partition_specs LOCATION 'obs_path'之间用空格隔开。例如:

    PARTITION partition_specs LOCATION 'obs_path' PARTITION partition_specs LOCATION 'obs_path'

  • 若新增分区指定的路径包含子目录(或嵌套子目录),则子目录下面的所有文件类型及内容也将作为该分区的记录。用户需要保证该分区目录下所有文件类型和文件内容与表的字段一致,否则查询将报错。

示例

  • 向student表中添加分区dt='2009-09-09',city='Shanghai'。
    1
    2
    3
    ALTER TABLE student ADD
      PARTITION (dt='2009-09-09',city='Shanghai')
      LOCATION 's3a://bucketName/fileName/students/dt=2009-09-09/city=Shanghai';
    
  • 向student表中添加分区dt='2009-09-09',city='Shanghai'及分区dt='2008-08-08',city='Hangzhou'。
    1
    2
    3
    ALTER TABLE student ADD
      PARTITION(dt='2009-09-09',city='Shanghai')
      PARTITION(dt='2008-08-08',city='Hangzhou');
    
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区