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

时间:2019-09-10 12:55:21

标签: hadoop hive partitioning

我有一个Hive表,在“ part_col”列上具有分区,我想在“ part_col”列中添加注释。

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

ALTER TABLE comment_test PARTITION (part_col) RENAME TO PARTITION (part_col string COMMENT 'new_comment');

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

1 个答案:

答案 0 :(得分:0)

  1. 可以在创建表时将注释添加到分区列。 (如示例[1]所示)。
  2. 由于Hive分区的设计性质,需要在元数据数据库中添加或修改分区列的注释。 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>';