hive 中文注释乱码

我们知道hive的元数据是有mysql管理的,所以这是mysql的元数据的问题.下面我们就修改一下字符编码

(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;

(2)修改分区字段注解

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;

(3)修改索引注解

alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

修改hive-site.xml配置文件

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://IP:3306/db_name?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>

 关键的两个参数:【useUnicode=true&amp;characterEncoding=UTF-8】 

上面的<value> 中 有个错误,xml 解析不过去【凡事得试一试】。

修改如下:

1 <property>
2     <name>javax.jdo.option.ConnectionURL</name>
3     <value>jdbc:mysql://192.168.91.112:3306/hive?allowMultiQueries=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false&amp;verifyServerCertificate=false</value>
4 
5   </property>

 

posted @ 2020-08-03 18:55  bjxdd  阅读(185)  评论(0)    收藏  举报