使用ojdbc6连接器导入Sqoop [英] Sqoop import using ojdbc6 connector

查看:259
本文介绍了使用ojdbc6连接器导入Sqoop的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用sqoop从oracle 11g导入数据,因为我没有权限将ojdbc jar放在群集的sqoop的lib中,我使用-libjars显式提供了jar,但它抛出了异常.我拥有的代码使用的是:

I am using sqoop to import data from oracle 11g, as i do not have the permission to put the ojdbc jar in sqoop's lib on cluster i am explicitly providing the jar using -libjars but it is throwing exception.The code I have used is :

sqoop eval -libjars /root/shared_folder/ojdbc6.jar --driver oracle.jdbc.OracleDriver --connect jdbc:oracle:thin:@127.0.0.1:1521:XE --username srivastavaaman --password manager --query 'SELECT * from TestTable1'

下面的输出是:

Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.  
17/04/05 02:48:40 INFO sqoop.Sqoop: Running Sqoop version: 1.4.4.2.1.1.0-385
17/04/05 02:48:41 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
17/04/05 02:48:41 WARN sqoop.ConnFactory: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time.
17/04/05 02:48:41 INFO manager.SqlManager: Using default fetchSize of 1000
17/04/05 02:48:41 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.OracleDriver
java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.OracleDriver
at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:797)
at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
at org.apache.sqoop.tool.EvalSqlTool.run(EvalSqlTool.java:64)
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:222)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:231)
at org.apache.sqoop.Sqoop.main(Sqoop.java:240)

如果将相同的ojdbc6.jar放置在本地计算机的sqoop的lib中,则它可以正常工作.

If the same ojdbc6.jar is placed in the sqoop's lib in local machine it is working properly.

推荐答案

-libjars参数通常不与Sqoop一起使用,而是作为Hadoop内部参数解析系统的一部分添加的.

The -libjars argument is not typically used with Sqoop, but is added as part of Hadoop’s internal argument-parsing system.

将Jar文件的路径追加到$HADOOP_CLASSPATH变量.

Append the path of Jar file to the $HADOOP_CLASSPATH variable.

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/shared_folder/ojdbc6.jar
sqoop eval --driver oracle.jdbc.OracleDriver --connect jdbc:oracle:thin:@127.0.0.1:1521:XE --username ****** --password ***** --query 'SELECT * from TestTable1'

这篇关于使用ojdbc6连接器导入Sqoop的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆