首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Hive表中添加/编辑已分区列的注释?

如何在Hive表中添加/编辑已分区列的注释?
EN

Stack Overflow用户
提问于 2019-09-10 12:55:21
回答 1查看 1.1K关注 0票数 2

我有一个在'part_col‘列上有分区的Hive表,我想在这个列'part_col’中添加注释。

我尝试了下面的ALTER语句,但是它不工作,并抛出错误,

代码语言:javascript
运行
复制
ALTER TABLE comment_test PARTITION (part_col) RENAME TO PARTITION (part_col string COMMENT 'new_comment');

还有其他方法来添加或修改Hive表列的分区吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-10 12:58:38

  1. 可以在创建表时将注释添加到分区列中。(如例1所示)。
  2. 由于Hive分区的设计性质,需要在元数据数据库中添加或修改分区列的注释。ALTER语句可用于更改分区列的值,如示例2,但不能更改分区本身的名称。

1在创建表时对分区进行注释:

代码语言:javascript
运行
复制
CREATE TABLE comment_test
(id STRING COMMENT 'comment1',
description STRING COMMENT 'comment2')
PARTITIONED BY (part_col STRING COMMENT 'partition_comment');

语句来修改分区的值。(不是分区列名)

代码语言:javascript
运行
复制
ALTER TABLE comment_test 
PARTITION (part_col='501') RENAME TO PARTITION (part_col='503');

3在创建表后添加/修改分区注释的查询。(在HMS后端DB中运行,而不是在Hive中运行)

代码语言:javascript
运行
复制
UPDATE PARTITION_KEYS 
SET PKEY_COMMENT='new_comment' 
WHERE TBL_ID=<TBL_ID of the table of interest> ;

要获得TBL_ID,请在HMS后端DB中运行以下查询

代码语言:javascript
运行
复制
SELECT TBL_ID 
FROM TBLS 
WHERE TBL_NAME='<name of the table for which the partition change is needed>';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57871294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档