sqoop从hdfs导入到mysql 报ERROR tool.ExportTool: Error during export:  Export job failed!

本文解决了一个常见的问题:使用sqoop从HDFS导入数据到MySQL时遇到中文乱码错误。通过导出数据,删除并重新创建指定utf8编码的表,成功解决了数据导入过程中的编码不匹配问题。

楼主需要把hdfs上的数据导入到mysql当中,报如下错误。
18/11/22 16:04:37 ERROR tool.ExportTool: Error during export: 
Export job failed!
    at org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:439)
    at org.apache.sqoop.manager.SqlManager.exportTable(SqlManager.java:931)
    at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:92)
    at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:111)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

具体问题是数据中有中文,而数据库表编码不支持

解决方案如下:

将表的数据导出,删除表后重新创建表,指定编码DEFAULT CHARSET=utf8

 

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值