解决Hive中文乱码
第一步:
先停止mysql服务:service mysql stop
在/usr/my.cnf中的[mysqld]后添加以下内容:
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
然后验证是否修改成功,进入mysql中,输入命令:show variables like 'char%';
第二步:修改mysql中hive元数据的编码:
切换到元数据库:
use metastore;
A:修改表字段和表注解
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;
B:修改分区字段注解
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;
C:修改索引注解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
最后重启mysql服务:service mysql start
完毕!
因篇幅问题不能全部显示,请点此查看更多更全内容