我有一个在'part_col‘列上有分区的Hive表,我想在这个列'part_col’中添加注释。
我尝试了下面的ALTER语句,但是它不工作,并抛出错误,
ALTER TABLE comment_test PARTITION (part_col) RENAME TO PARTITION (part_col string COMMENT 'new_comment');
还有其他方法来添加或修改Hive表列的分区吗?
发布于 2019-09-10 12:58:38
ALTER
语句可用于更改分区列的值,如示例2,但不能更改分区本身的名称。1在创建表时对分区进行注释:
CREATE TABLE comment_test
(id STRING COMMENT 'comment1',
description STRING COMMENT 'comment2')
PARTITIONED BY (part_col STRING COMMENT 'partition_comment');
语句来修改分区的值。(不是分区列名)
ALTER TABLE comment_test
PARTITION (part_col='501') RENAME TO PARTITION (part_col='503');
3在创建表后添加/修改分区注释的查询。(在HMS后端DB中运行,而不是在Hive中运行)
UPDATE PARTITION_KEYS
SET PKEY_COMMENT='new_comment'
WHERE TBL_ID=<TBL_ID of the table of interest> ;
要获得TBL_ID,请在HMS后端DB中运行以下查询
SELECT TBL_ID
FROM TBLS
WHERE TBL_NAME='<name of the table for which the partition change is needed>';
https://stackoverflow.com/questions/57871294
复制相似问题