【问题标题】:sqoop import teradata to hive - CommandNeedRetryExceptionsqoop 将 teradata 导入配置单元 - CommandNeedRetryException
【发布时间】:2015-11-12 03:57:21
【问题描述】:

我正在尝试使用以下 Sqoop 命令将数据从 Teradata 导入配置单元:

sqoop import \
--connect ${connect} \
--username ${usr} \
--password ${pwd} \
--connection-manager org.apache.sqoop.teradata.TeradataConnManager \
--table ${tblname} \
--hive-import \
--hive-database ${db} \
--hive-table ${dist_tbl};

查看以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/ql/CommandNeedRetryException
    at com.teradata.connector.common.tool.ConfigurationMappingUtils.importConfigurationMapping(ConfigurationMappingUtils.java:300)
    at org.apache.sqoop.teradata.TeradataSqoopImportHelper.runJob(TeradataSqoopImportHelper.java:360)
    at org.apache.sqoop.teradata.TeradataConnManager.importTable(TeradataConnManager.java:504)
    at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497)
    at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:601)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.ql.CommandNeedRetryException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 11 more

【问题讨论】:

  • 您可能需要添加更多信息以帮助其他人回答您的问题。我假设问题是如何防止这个异常?
  • 您好 user2738962,对不起,我对 sqoop 上的这个问题感到筋疲力尽。我正在尝试使用以下命令将数据从 teradata 导入配置单元: sqoop import \ --connect ${connect} \ --username ${usr} \ --password ${pwd} \ --connection-manager org.apache .sqoop.teradata.TeradataConnManager \ --table ${tblname} \ --hive-import \ --hive-database ${db} \ --hive-table ${dist_tbl};谢谢
  • 你能删除--hive-database ${db}命令并尝试--hive-table your_hive_db.your_hive_tbl
  • 嗨,马特,是的,我做到了。但它仍然无法正常工作..

标签: java hadoop


【解决方案1】:

我看到这个问题仍未得到解答。

答案很简单:

将“--connection-manager org.apache.sqoop.teradata.TeradataConnManager”替换为“--driver 'com.teradata.jdbc.TeraDriver'”。这将解决问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-28
    • 2017-08-05
    • 2014-07-26
    • 2016-03-17
    • 2018-01-17
    • 2021-05-09
    • 2013-02-03
    • 1970-01-01
    相关资源
    最近更新 更多