溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Hive表字段Comment中文亂碼怎么辦

發(fā)布時(shí)間:2021-12-10 14:53:18 來(lái)源:億速云 閱讀:213 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要為大家展示了“Hive表字段Comment中文亂碼怎么辦”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Hive表字段Comment中文亂碼怎么辦”這篇文章吧。

1.問(wèn)題描述

默認(rèn)Hive中創(chuàng)建有中文注釋的表時(shí),無(wú)論是在Hive CLI還是Hue中該注釋顯示都會(huì)是亂碼。如使用以下建表語(yǔ)句:

create  external table test_table

(

s1  string comment 'abc',

s2  string comment '你好啊'

)

row format  delimited fields terminated by '#'

stored  as textfile location '/lilei/test_table';

在Hive CLI中查看如下:

Hive表字段Comment中文亂碼怎么辦

Hue中顯示一樣,這里省略。

2.解決辦法

這個(gè)問(wèn)題是因?yàn)?a title="mysql" target="_blank" href="http://www.kemok4.com/mysql/">mysql中的元數(shù)據(jù)庫(kù)表COLUMNS_V2中的字段COMMENT編碼問(wèn)題導(dǎo)致的,需要設(shè)置為utf-8,如下所示:

Hive表字段Comment中文亂碼怎么辦

在mysql中設(shè)置該字段的編碼為utf-8,如下所示:

| mysql  –u root –puse  metastore;alter  table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;FLUSH  PRIVILEGES; |

|:----|

Hive表字段Comment中文亂碼怎么辦

注意Hive元數(shù)據(jù)這個(gè)數(shù)據(jù)庫(kù)應(yīng)使用utf-8創(chuàng)建,如:create database metastore defaultcharacter set utf8;

回到Hive中重現(xiàn)create一張表

Hive表字段Comment中文亂碼怎么辦

查看該表的注釋:

Hive表字段Comment中文亂碼怎么辦

發(fā)現(xiàn)中文注釋已經(jīng)顯示正常。

查看以前的表:

Hive表字段Comment中文亂碼怎么辦

發(fā)現(xiàn)依舊顯示為亂碼。

需要修改以前的表的comment才能顯示正常,在Hive CLI中執(zhí)行,命令如下:

| ALTER  TABLE test_table1 change column s2 s2 STRING COMMENT '我不好'; |

|:----|

Hive表字段Comment中文亂碼怎么辦

再次查看舊表的comment:

Hive表字段Comment中文亂碼怎么辦

發(fā)現(xiàn)中文注釋已經(jīng)顯示正常。問(wèn)題解決。

以上是“Hive表字段Comment中文亂碼怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI