我试图将数据从hive导出到mssql服务器,我知道sqoop和sql服务器都没问题,因为我可以导出另一个没有问题的表。
我得到的错误是:
14/06/19 14:48:37 INFO mapreduce.Job:任务ID:attempt_1403175168750_0031_m_000003_0,状态:未通过 错误:java.io.IOException:无法导出数据,请检查失败的地图任务日志 at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:112) at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:39) 在org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145) 在org.apache.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:64) 在org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) 在org.apache.hadoop.mapred.MapTask.run(MapTask.java:340) 在org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:168) at java.security.AccessController.doPrivileged(Native Method) 在javax.security.auth.Subject.doAs(Subject.java:415) 在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163) 引起:java.lang.RuntimeException:无法解析输入数据:'你可能隐藏着关于你想要如何利用的秘密幻想...更多处女座http://t.co/Jnt91NMNt5' 在StageFlumeTweets .__ loadFromFields(StageFlumeTweets.java:236) 在StageFlumeTweets.parse(StageFlumeTweets.java:174) at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:83) ......还有10个 引起:java.lang.NumberFormatException:对于输入字符串:"你可能隐藏着关于你如何想要的秘密幻想...更多处女座http://t.co/Jnt91NMNt5" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 在java.lang.Long.parseLong(Long.java:441) 在java.lang.Long.valueOf(Long.java:540) 在StageFlumeTweets .__ loadFromFields(StageFlumeTweets.java:228) ......还有12个
用于导出数据的命令是:
sqoop export --verbose --connect" jdbc:sqlserver:// xx; database = xx; username = xx; password = xx" --export-dir / user / hive / warehouse / xx / twitter_bulk2 / --table StageFlumeTweets --input-fields-terminated-by','
包含数据的文件只是一个tweetid,文本如下:
468751929271517185,RT @BestofScorpio:女人可能想要你,但她并不需要你。 468751929565130752,我需要借一个人的红色唇膏
答案 0 :(得分:0)
你得到NumberFormatException
。
这可能是一个溢出问题(给定tweedid
的大小)。 Sql Server中的相应字段是否声明为bigint
?