我有一个Hive表,在“ part_col”列上具有分区,我想在“ part_col”列中添加注释。
我尝试了下面的ALTER语句,但是它不起作用并抛出错误,
ALTER TABLE comment_test PARTITION (part_col) RENAME TO PARTITION (part_col string COMMENT 'new_comment');
还有其他方法可以添加或修改Hive表列的分区吗?
答案 0 :(得分:0)
ALTER
语句可用于更改分区列的值,例如Example [2],但不能更改分区本身的名称。[1]创建表时对分区的注释:
CREATE TABLE comment_test
(id STRING COMMENT 'comment1',
description STRING COMMENT 'comment2')
PARTITIONED BY (part_col STRING COMMENT 'partition_comment');
[2]语句,用于修改分区的值。 (不是分区列的名称)
ALTER TABLE comment_test
PARTITION (part_col='501') RENAME TO PARTITION (part_col='503');
[3]创建表后查询以添加/修改分区注释。 (要在HMS后端数据库中运行,而不能在Hive中运行)
UPDATE PARTITION_KEYS
SET PKEY_COMMENT='new_comment'
WHERE TBL_ID=<TBL_ID of the table of interest> ;
要获取TBL_ID,请在HMS后端数据库中运行以下查询,
SELECT TBL_ID
FROM TBLS
WHERE TBL_NAME='<name of the table for which the partition change is needed>';