hive 的表和欄位注釋中文亂碼,無論在dbeaber,還是在hiveserver2 shell查看都是亂碼,

解決方案(元資料存放于mysql為例)
-
第一步:進入 etc目錄下打開 my.cnf 檔案 ,對 my.cnf 添加以下陳述句:
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
完成之后,重啟mysql,再進入到mysql查看修改是否成功

-
第二步:在 mysql 修改hive元資料表注釋和欄位注釋的編碼為 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;
-
第三步:修改 hite-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?useUnicode=true&characterEncoding=UTF-8</value>
</property>
這里一定要注意將 & 轉義為 &
-
第四步:重新匯入建表陳述句
一定要在dbeaver進行,不要在 hiveserver2 shell 和 hive shell 進行,不然依然亂碼
-
第五步:
最后在 dbeaver 上查看表結構,同樣的也不要在 hiveserver2 shell 和 hive shell 進行,不然看到的依然是亂碼,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/379500.html
標籤:其他
上一篇:@Autowired報錯
