1 hive元数据库mysql 或者mariaDB 编码格式问题
2 hive元数据定义信息编码格式问题
在/etc/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 文件/etc/my.cnf.d/client.cnf 在[client]中添加 default-character-set=utf8 文件/etc/my.cnf.d/mysql-clients.cnf 在[mysql]中添加 default-character-set=utf8 全部配置完成,重启mariadb systemctl restart mariadb
然后进入musql,执行 SHOW VARIABLES LIKE ‘character%‘;
1、查看存放Hive元数据信息的数据库表字符集;是否因为字符集问题
很明显,由于表使用的是默认的latin1字符集,所以中文显示不出来,应该使用utf8;
2 登陆Mysql数据库切换到Hive元数据库:根据具体设定自行判断
修改以下两张表即可; 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_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
原文:https://www.cnblogs.com/xyniu/p/15129930.html