博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqoop导出hive数据到mysql错误: Caused by: java.lang.RuntimeException: Can't parse input data
阅读量:6614 次
发布时间:2019-06-24

本文共 2232 字,大约阅读时间需要 7 分钟。

Sqoop Export数据到本地数据库时出现错误,命令如下:

sqoop export \--connect 'jdbc:mysql://202.193.60.117/dataweb?useUnicode=true&characterEncoding=utf-8' \--username root \--password-file /user/hadoop/.password \--table user_info_copy \--export-dir /user/hadoop/user_info \--input-fields-terminated-by "@"

错误日志如下:

Error: java.io.IOException: Can't export data, please check failed map task logs    at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:112)    at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:39)    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)    at org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64)    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:784)    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)    at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)    at java.security.AccessController.doPrivileged(Native Method)    at javax.security.auth.Subject.doAs(Subject.java:422)    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)    at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)Caused by: java.lang.RuntimeException: Can't parse input data: '2,hello,456,0'    at user_info_copy.__loadFromFields(user_info_copy.java:335)    at user_info_copy.parse(user_info_copy.java:268)    at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:83)    ... 10 moreCaused by: java.lang.NumberFormatException: For input string: "2,hello,456,0"    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)    at java.lang.Integer.parseInt(Integer.java:580)    at java.lang.Integer.valueOf(Integer.java:766)    at user_info_copy.__loadFromFields(user_info_copy.java:317)    ... 12 more

  该错误的问题在于分隔符,因为您没有在配置单元表中指定分隔符,默认的配置单元分隔符是:

    '\ 001'字段终止

    '\ 002'的收藏品终止

    '\ 003'终止的地图密钥

    LINES终止于'\ n'

  所以要解决问题,就需要更改配置单元创建或sqoop作业中的分隔符来解决问题。在本问题中,我的表示在本地通过界面化管理工具创建的,分隔符换成“,”就能解决问题了,若是其他分隔符则对应改变就行;或者,使用以下语句重新创建表格并指定分隔符来解决。

ROW FORMAT DELIMITED FIELDS TERMINATED BY '分隔符'

 

以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!

转载于:https://www.cnblogs.com/zimo-jing/p/9210968.html

你可能感兴趣的文章
CCAI 2017 | 香港智能金融联合创始人兼CEO柳崎峰:金融机构的市场机遇与实践
查看>>
大数据城市网络安全指数在贵阳发布
查看>>
智能家居行业高速发展期来临,扫除瓶颈障碍是关键
查看>>
光伏行业何时方能走出补贴的“襁褓”?
查看>>
IBM上半年新增3万名员工 已有7万人使用Mac办公
查看>>
2020年全球以太网交换机市场将超260亿美元
查看>>
自动化测试方式策略分析
查看>>
docker(14):centos7 安装docker hub harbor,可视化registry
查看>>
你以为 Snapchat 做的是社交,但它却说自己是一家相机公司
查看>>
2017年智能交通市场三个看点
查看>>
Server2016虚拟机安装(评估版升级正式版、180天评估版升级)
查看>>
飞机维修领域,RFID技术作用巨大
查看>>
Slack 是如何变成史上增长最逆天的企业级应用的?
查看>>
十分简单的redis使用说明及性能测试
查看>>
乱象丛生的IDC行业,冒然闯入必将铩羽而归
查看>>
Intel仍有黑科技 硅光学芯片正朝400Gbps迈进
查看>>
早定年夜饭 中华通网络电话来帮忙
查看>>
《Python编程实战:运用设计模式、并发和程序库创建高质量程序》—— 2.1 适配器模式...
查看>>
以大数据为支撑勾勒体育产业蓝图
查看>>
数据资产的运营商--天市大数据交易平台
查看>>