我的简单sqoop导出在作业

时间:2018-02-24 11:57:11

标签: sqoop

我正在学习sqoop导出,这是我的命令:

sqoop export -m 1 \
--connect jdbc:mysql://ms.itversity.com:3306/retail_export \
--username=<username> \
--password=<password> \
--table dep_export \
--export-dir departments_new \
--input-lines-terminated-by '\n' \
--input-fields-terminated-by '|'

此命令意味着将hdfs上的数据导出到mysql,但它失败了以下详细信息:

  

错误:java.io.IOException:无法导出数据,请检查失败的地图   任务日志   org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:122)   在   org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:39)   在org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146)at   org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64)   在org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)at   org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)at at   org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:168)at 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:1724)   在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)引起   by:java.lang.RuntimeException:无法解析输入数据:   '10,physicss,2018-01-31 22:24:18.0'在   dep_export .__ loadFromFields(dep_export.java:316)at   dep_export.parse(dep_export.java:254)at   org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:89)   ... 10更多引起:java.lang.NumberFormatException:用于输入   字符串:“10,physicss,2018-01-31 22:24:18.0”at   java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)   在java.lang.Integer.parseInt(Integer.java:580)at   java.lang.Integer.valueOf(Integer.java:766)at   dep_export .__ loadFromFields(dep_export.java:303)... 12更多

有人可以帮忙解决这个问题吗?非常感谢你。

1 个答案:

答案 0 :(得分:1)

看起来您的数据是','分隔,请尝试使用以下

  

- input-fields-terminated-by','