sqoop将数据从Teradata传输到HDFS

时间:2014-10-29 14:12:44

标签: hadoop hive hdfs teradata sqoop

sqoop将数据从Teradata传输到HDFS: 得到如下错误: -bash-4.1 $ sqoop import --connection-manager com.cloudera.sqoop.manager.DefaultManagerFactory --driver com.teradata.jdbc.TeraDriver \

  

- connect jdbc:teradata://dwsoat.dws.company.co.uk/DATABASE=TS_72258_BASELDB \   --username userid -P --table ADDRESS --num-mappers 3 \   --target-dir / user / nathalok / ADDRESS   警告:/apps/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/bin/../lib/sqoop/../accumulo不存在! Accumulo进口将失败。   请将$ ACCUMULO_HOME设置为Accumulo安装的根目录。   14/10/29 14:00:14 INFO sqoop.Sqoop:运行Sqoop版本:1.4.4-cdh5.1.3   14/10/29 14:00:14 WARN tool.BaseSqoopTool:在命令行上设置密码是不安全的。考虑使用-P代替。   14/10/29 14:00:14错误sqoop.ConnFactory:Sqoop无法正确创建连接管理器。有些连接器支持显式--driver,有些则不支持。请尝试指定--driver或将其保留。   14/10/29 14:00:14 ERROR tool.BaseSqoopTool:创建数据库管理器时出错:java.io.IOException:java.lang.NoSuchMethodException:com.cloudera.sqoop.manager.DefaultManagerFactory。(java.lang.String, com.cloudera.sqoop.SqoopOptions)           在org.apache.sqoop.ConnFactory.getManager(ConnFactory.java:165)           在org.apache.sqoop.tool.BaseSqoopTool.init(BaseSqoopTool.java:243)           在org.apache.sqoop.tool.ImportTool.init(ImportTool.java:84)           在org.apache.sqoop.tool.ImportTool.run(ImportTool.java:494)           在org.apache.sqoop.Sqoop.run(Sqoop.java:147)           在org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)           在org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)           在org.apache.sqoop.Sqoop.runTool(Sqoop.java:222)           在org.apache.sqoop.Sqoop.runTool(Sqoop.java:231)           在org.apache.sqoop.Sqoop.main(Sqoop.java:240)   引起:java.lang.NoSuchMethodException:com.cloudera.sqoop.manager.DefaultManagerFactory。(java.lang.String,com.cloudera.sqoop.SqoopOptions)           at java.lang.Class.getConstructor0(Class.java:2810)           at java.lang.Class.getDeclaredConstructor(Class.java:2053)           在org.apache.sqoop.ConnFactory.getManager(ConnFactory.java:151)           ... 9更多

-bash-4.1 $

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:5)

要使用Cloudera发行版使Teradata正常工作,您需要执行以下操作:

  1. 在/ var / lib / sqoop中安装Teradata JDBC jars。对我来说,这些是terajdbc4.jar和tdgssconfig.jar。
  2. 安装Cloudera Connector Powered by Teradata或安装在文件系统某处的Cloudera Connector for Teradata(我更喜欢/ var / lib / sqoop)。
  3. 在/etc/sqoop/conf/managers.d/中,创建一个文件(任何名称)并添加com.cloudera.connector.teradata.TeradataManagerFactory=<location of connector jar>。例如,我有/etc/sqoop/conf/managers.d/teradata =&gt; com.cloudera.connector.teradata.TeradataManagerFactory=/var/lib/sqoop/sqoop-connector-teradata-1.2c5.jar
  4. 安装Teradata connector的方法也有所不同。例如,使用Cloudera Manager可能更容易。

    如果您仍然遇到问题,请尝试与sqoop mailing list联系。