【问题标题】:How to add/edit the comment of a partitioned column in Hive table?如何在 Hive 表中添加/编辑分区列的注释?
【发布时间】:2019-09-10 12:55:21
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: hadoop hive partitioning


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-05
      • 2022-07-28
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 2018-01-22
      • 2012-02-07
      相关资源
      最近更新 更多