我正在学习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更多
有人可以帮忙解决这个问题吗?非常感谢你。
答案 0 :(得分:1)
看起来您的数据是','分隔,请尝试使用以下
- input-fields-terminated-by','