Sqoop將hive數據導出到MySQL中文亂碼了怎么辦?


今天遇到一個問題,如下圖所示,我用sqoop將hive中數據導出到mysql中,結果出現了以下情況:

 

 經過查找資料,終於解決了問題,下面我將自己的完整解決步驟做一下記錄,如果能幫到需要幫助的人,我會非常開心,

最主要的是將來自己再遇到類似的問題可以進行查看。

首先在mysql的指令界面輸入以下命令:

show variables like 'character%';

出現以下界面,我的界面是這樣的:

 

 我按照搜到的答案用以下命令:

set character_set_database=utf8;

set character_set_server=utf8;

將我的界面改成了這樣:

 

 改完了mysql中的設置,我用的sqoop導出命令是這樣的:

sqoop export --connect "jdbc:mysql://hadoop143:3306/mysqltohdfs?useUnicode=true&characterEncoding=utf-8" --username root --password lam7 --export-dir /user/root/student1 --table student1 --num-mappers 1 --input-fields-terminated-by "\t"

特別注意:connect 連接的地址加上了“?useUnicode=true&characterEncoding=utf-8”,而且這個連接的地址一定要加上雙引號,要不編譯不通過!

經過以上操作問題成功解決!以下是我的成功界面:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM