Hive元数据库的字符集默认为Latin1,由于其不支持中文字符,故若建表语句中包含中文注释,会出现乱码现象。
如需解决乱码问题,须做以下修改。


1)修改Hive元数据库中存储注释的字段的字符集为utf-8

(1)字段注释

​mysql> alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;​

(2)表注释

​mysql> alter table TABLE_PARAMS modify column PARAM_VALUE mediumtext character set utf8;​

2)修改hive-site.xml中JDBC URL,如下

添加

​&useUnicode=true&characterEncoding=UTF-8​

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>