1 hive元數據庫mysql 或者mariaDB 編碼格式問題mysql
2 hive元數據定義信息編碼格式問題sql
在/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%';數據庫
一、查看存放Hive元數據信息的數據庫表字符集;是否由於字符集問題編碼
很明顯,因爲表使用的是默認的latin1字符集,因此中文顯示不出來,應該使用utf8;spa
2 登錄Mysql數據庫切換到Hive元數據庫:根據具體設定自行判斷rest
修改如下兩張表便可; 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;