hive数据导入MySQL乱码_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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值