環境 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;