1. 程式人生 > >Hive中文註釋亂碼問題的解決

Hive中文註釋亂碼問題的解決

在HIVE中建表的時候,有時候難免要表中文註釋,然而如果不經過配置,會導致desc某個表名的時候,直接以?的方式返回。

因此也來解決一下HIVE中文註釋亂碼的問題。由於HIVE的元資料是存在於MYSQL上的,因此需要在MYSQL上進行元資料的候。

因此也來解決一下這個問題。

當hive使用mysql作為元資料庫的時候mysql的字符集要設定成latin1 default。
alterdatabase hive character set latin1;


為了儲存那些utf8的中文,要將mysql中儲存註釋的那幾個欄位的字符集單獨修改為utf8。
修改欄位註釋字符集
alter tableCOLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
修改表註釋字符集
alter tableTABLE_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;

經過設定,效果如下: