MySQL用sqoop导出乱码_Sqoop将hive数据导出到MySQL中文乱码了怎么办?

今天遇到一个问题,如下图所示,我用sqoop将hive中数据导出到mysql中,结果出现了以下情况:

3e724c5c15ee2ec31f014d686b0483b6.png

经过查找资料,终于解决了问题,下面我将自己的完整解决步骤做一下记录,如果能帮到需要帮助的人,我会非常开心,

最主要的是将来自己再遇到类似的问题可以进行查看。

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

show variables like 'character%';

出现以下界面,我的界面是这样的:

06ec847747ec0db13d952fe30ad60334.png

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

set character_set_database=utf8;

set character_set_server=utf8;

将我的界面改成了这样:

cdcd778a6cfeca578a5ada05f65e6147.png

改完了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”,而且这个连接的地址一定要加上双引号,要不编译不通过!

经过以上操作问题成功解决!以下是我的成功界面:

bfe8ce1c84c089585129df768aeed0f8.png


版权声明:本文为weixin_42636895原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。