hive中文注释乱码问题

  hive建表的过程经常会碰到字段的中文注释乱码的问题,下面就介绍下如何处理此类问题。

1. 修改元数据的编码

  • 修改表字段注解和表注解
-- 修改表字段注解编码
ALTER TABLE columns_v2 MODIFY COLUMN COMMENT VARCHAR(256) CHARACTER SET utf8;
-- 修改表名注解编码
ALTER TABLE table_params MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;

  • 修改分区字段注解
ALTER TABLE partition_params MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET UTF8;
ALTER TABLE partition_keys MODIFY COLUMN PKEY_COMMENT VARCHAR(4000) CHARACTER SET utf8;
  • 修改索引注释
ALTER TABLE index_params modify column PARAM_VALUE varchar(4000) character set utf8;

2.修改hive配置文件

  当执行以上sql语句后,hive的中文注释还是乱码,这个时候就需要修改hive的配置文件,需要我们修改hive-site.xml配置文件,具体内容如下

# 以下配置中characterEncoding=UTF-8&这部分如果缺失就会导致中文注释乱码,将这部分内容加到配置文件中中文注释乱码问题就解决了
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://lx01:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
</property>

以上就是处理hive中文注释乱码问题的解决方式。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐