CDH集群部署hive建表中文亂碼

2022-05-29 21:27:07 字數 1149 閱讀 4495

背景:部署cdh集群的 hive 服務,選用 mysql 作為 hive 元資料的儲存資料庫,通過 hive cli 建表時發現中文注釋均亂碼。

現象:hive端建表中文注釋亂碼。

定位:已經確認過 mysql 庫的預設編碼是 utf-8,並且 mysql 中建庫建表不存在中文亂碼的情況。

於是檢視hive庫表的編碼,分別通過如下方式檢視hive庫和隨機某個表的編碼,發現hive表的編碼是 lantin1,問題也就出在這裡。

檢視hive庫編碼:

檢視hive表編碼:

解決方法:

將hive表中所有關於注釋的編碼有 lantin1 修改為 utf-8。

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;

至此,hive 端建表中文注釋亂碼問題已解決。

【參考資料】

[1]. 

hive新集群批量建表

工作中,遇到hive集群搬遷,從a集群,遷到b集群,相應的資料表也要隨之遷移,但hive表一般都比較多,下面實現批量處理方式 1.獲得待搬遷的資料表清單table list.txt。hive e use zx zz show tables table list.txt2.處理建表語句。執行命令,在每...

Hive端建表中文注釋亂碼

背景 mysql編碼是utf 8,mysql中建庫建表中文顯示都正常,但在hive視窗中建表時字段中文注釋均亂碼的問題。問題 hive中建表後字段中文注釋顯示異常。1.定位 mysql 端問題 檢視 mysql字符集編碼 mysql 中新建表中文注釋顯示正常 由此可以定位到並不是 mysql 服務端...

cdh集群hive公升級,資料不丟失

2.將安裝包傳到集群所有節點上 3.所有節點root使用者下 cd opt cloudera parcels cdh lib hive mkdir lib1214.所有節點解壓 apache hive 1.2.1 bin.tar.gz 5.所有節點將解壓出來hive lib下所有檔案拷貝到lib12...