2014-10-29 59 views
1
转移到HDFS

sqoop将数据从Teradata数据传输到HDFS: 获得如下错误: -bash-4.1 $ sqoop进口--connection经理com.cloudera.sqoop.manager.DefaultManagerFactory - 司机com.teradata.jdbc.TeraDriver \sqoop将数据从Teradata的

--connect的jdbc:Teradata数据://dwsoat.dws.company.co.uk/DATABASE=TS_72258_BASELDB \ --username用户ID -P --table地址 - -num-mappers 3 \ --target-dir/user/nathalok/ADDRESS Warning:/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信息sqoop.Sqoop:运行Sqoop版本:1.4.4-cdh5.1.3 14/10/29 14:00:14警告tool.BaseSqoopTool:在命令行中设置密码 - 线路不安全。考虑使用-P来代替。 14/10/29 14:00:14错误sqoop.ConnFactory:Sqoop无法正确创建连接管理器。有些连接器支持显式驱动程序,有些则不支持。请尝试指定--driver或将其忽略。 14/10/29 14:00:14错误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) 在有机.apache.sqoop.tool.ImportTool.init(ImportTool.java:84) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:494) at org.apache.sqoop.Sqoop.run(Sqoop .java:147) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) at org.apache.sqoop .Sqoop.runTool(Sqoop.java:22 2) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:231) at 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 $

任何帮助将是赞赏。

回答

5

要获得Teradata的正常工作使用Cloudera的分布,你需要做到以下几点:

  1. 安装在/ var/lib中/ sqoop的Teradata JDBC jars。对我来说,这些是terajdbc4.jar和tdgssconfig.jar。
  2. 安装Cloudera Connector Powered by TeradataCloudera 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 => 。

有不同的方法来安装Teradata connector以及。例如,使用Cloudera Manager可能会更容易。

如果仍有问题,请尝试与sqoop mailing list联系。

+0

感谢您的工作。 – user3754136 2014-12-11 10:19:34

+0

1. sqoop list-databases --connect jdbc:teradata://net.dws.server.co.uk --username $ user -password $ pass 2.sqoop import -libjars /home/path/tdgssconfig.jar,/ home/path/terajdbc4.jar --driver com.teradata.jdbc.TeraDriver --connect“jdbc:teradata://server.co.uk/database=TS_75739”-m 1 --username test --password pass1# - - 查询“....”这两个工作对我来说,只有你的服务器名称应该可以通过DNS和它的工作。 – user3754136 2015-02-25 13:02:16

相关问题