【问题标题】:sqoop export fails to load data into mysql from hive warehouse foldersqoop export 无法将数据从 hive 仓库文件夹加载到 mysql
【发布时间】:2015-01-12 09:08:44
【问题描述】:

sqoop 导出失败并出现错误。

我的导出命令是:
sqoop export --connect jdbc:mysql://<ip>:3306/<database> --username user --password pass --verbose --table <table name> --export-dir <dir in hdfs>

字段由 hive 默认分隔符终止。

错误信息:

15/01/12 08:50:23 INFO mapred.JobClient: Task Id :     attempt_201412261920_1440_m_000000_1, Status : FAILED
java.util.NoSuchElementException
at java.util.ArrayList$Itr.next(ArrayList.java:757)
at <tablename>.__loadFromFields(<tablename>.java:418)
at <tablename>.parse(<tablename>.java:332)
at com.cloudera.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:81)
at com.cloudera.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:40)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at com.cloudera.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:189)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:647)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:416)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1177)
at org.apache.hadoop.mapred.Child.main(Child.java:264)`

【问题讨论】:

  • 您的用户名/密码似乎没有通过身份验证。

标签: mysql export hive bigdata sqoop


【解决方案1】:

我发现了错误。它是 hive 和 mysql 表中列不匹配的 bcz。现在它运行良好。

【讨论】:

  • 什么样的不匹配列?
  • 这是一篇旧帖子,因为我现在不记得完全不匹配。如果我没记错的话,那是因为我们在目标 mysql 表中的字段比 HDFS 文件中可用的字段多。
猜你喜欢
  • 1970-01-01
  • 2014-07-01
  • 1970-01-01
  • 2019-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多