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

2021-07-11 05:14:42 字數 836 閱讀 9969

在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;

經過設定,效果如下:

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

在hive 中建表的時候,有時候難免要表中文注釋,然而如果不經過配置,會導致desc某個表名的時候,直接以?的方式返回。因此也來解決一下hive中文注釋亂碼的問題。由於hive的元資料是存在於mysql上的,因此需要在mysql上進行元資料的候。因此也來解決一下這個問題。當hive使用mysql作為...

解決hive查詢中文亂碼問題

在通過終端查詢hive時,終端結果顯示為亂碼。這種情況出現的原因是 1.ssh終端裡的編碼不是utf 8 如使用scrt,xshell等,都要把編碼設成utf 8 2.hive在將資料寫入hdfs時候,會把資料格式轉換為utf 8格式的。如果你匯入hive表的源資料不是utf 8格式的,hive在進...

hive中解決中文亂碼問題

為了解決hive中建立表的時候,註解等中文顯示的亂碼問題 需要設定metastore database中某些欄位的字元編碼為utf 8 grant all privileges on to root identified by 123456 with grant option flush privi...