//雪花飘落特效 //右上角github跳转   

cdh hive中文注释乱码问题解决

 

 

解决方法
1、进入mysql执行:show create database hive; 发现默认是utf8类型

+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| hive     | CREATE DATABASE `hive` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+



2、更改默认编码为latin1
mysql> alter database hive default character set latin1;

3、在mysql中修改hive元数据属性

mysql> use hive;

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

mysql> alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

mysql> alter table PARTITION_PARAMS  modify column PARAM_VALUE varchar(4000) character set utf8;

mysql> alter table PARTITION_KEYS  modify column PKEY_COMMENT varchar(4000) character set utf8;

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

“以上操作都是在mysql中执行,最后在hive中确认”

4、重新建表,再show create table查看,此时中文注释显示正常.

 

解决desc命令注释中文乱码:修改hive存储在mysql里的元数据相关信息 
1).修改字段注释字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
 
2).修改表注释字符集
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
 
3).修改分区表参数,以支持分区键能够用中文表示
 
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;
 
4).修改索引注解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

 

 

 

 

 

 

 

 

 

posted @ 2021-03-01 11:42  农夫运维  阅读(398)  评论(0)    收藏  举报