Hive数据源在创建数据库表时增加描述,会显示乱码,在读取comment元素时会显示异常。
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;
4、修改hive_site.xml中的JDBC数据库链接
<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>
修改完上述属性后,然后重启hive jdbc对应的服务hiveserver2,重新进行链接,再次验证。