环境 cdh5.8.3 + Hive 1.1.0。 hive 元数据库用的是MySQL
创建表后,用desc 在hive中查看表信息,注释显示乱码。解决方案如下:
1 进入mysql ,执行
show create database hive
查看hive 数据库当前编码,如果是utf8 则执行下面sql
alter database hive default character set latin1
将 hive 数据库默认编码改成 latin1
2 执行下面sql ,修改表
use hive;
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;
https://my.oschina.net/jackieyeah/blog/742088