sqoop-连接到oracle并将数据导入ibmbiginsights中的hdfs

ui7jx7zq  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(309)

我想连接到我的数据库(oracle 10g)并将数据导入 HDFS . 我正在使用ibm big insight平台。
但当我使用以下命令时:

sqoop import --connect jdbc:oracle:thin://<IP>:1521/DB--username xxx --password xxx--table t /lib/sqoop/sqoopout

运行sqoop时出现异常:
java.lang.runtimeexception:无法加载db驱动程序类:oracle.jdbc.oracledriver
java.lang.runtimeexception:无法加载db驱动程序类:oracle.jdbc.oracledriver
在org.apache.sqoop.manager.oraclemanager.makeconnection(oraclemanager。java:286)在org.apache.sqoop.manager.genericjdbcmanager.getconnection(genericjdbcmanager。java:52)
在org.apache.sqoop.manager.sqlmanager.execute(sqlmanager。java:752)在org.apache.sqoop.manager.sqlmanager.execute(sqlmanager。java:775)在org.apache.sqoop.manager.sqlmanager.getcolumninfoforrawquery(sqlmanager。java:270)在org.apache.sqoop.manager.sqlmanager.getcolumntypesforrawquery(sqlmanager。java:241)在org.apache.sqoop.manager.sqlmanager.getcolumntypes(sqlmanager。java:227)在org.apache.sqoop.manager.connmanager.getcolumntypes(connmanager。java:295)在org.apache.sqoop.orm.classwriter.getcolumntypes(classwriter。java:1833)在org.apache.sqoop.orm.classwriter.generate(classwriter。java:1645)在org.apache.sqoop.tool.codegentool.generateorm(codegentool。java:107)在org.apache.sqoop.tool.importtool.importtable(importtool。java:478)在org.apache.sqoop.tool.importtool.run(importtool。java:605)在org.apache.sqoop.sqoop.run(sqoop。java:143)在org.apache.hadoop.util.toolrunner.run(toolrunner。java:70)在org.apache.sqoop.sqoop.runsqoop(sqoop。java:179)在org.apache.sqoop.sqoop.runtool(sqoop。java:218)在org.apache.sqoop.sqoop.runtool(sqoop。java:227)在org.apache.sqoop.sqoop.main(sqoop。java:236)
我还在sqoop/lib中复制ojdbc6_g.jar。请帮助我解决这个问题,我可以导入数据到hdfs。

7qhs6swi

7qhs6swi1#

要从oracle数据库获取sqoop数据,首先需要下载ojdbcjar并将其放入sqoop lib文件夹。下载ojdbc jar的链接是:
https://mvnrepository.com/artifact/ojdbc/ojdbc/14https用法:/mvnrepository.com/artifact/com.oracle/ojdbc14/10.2.0.2.0
除此之外,用于从ojdbc导入数据的sqoop命令是:

sqoop import --connect jdbc:oracle:thin:@127.0.0.1:1521:XE --username*****--password******--table table_name --columns "COL1, COL2, COL3, COL4, COL5" --target-dir /xyz/zyx -m 1

在这里您可以注意--connect工具,使用的连接字符串的格式如下:

jdbc:oracle:thin:@ip_address:port_number:SID

允许的第二种格式是:

jdbc:oracle:thin:@ip_address:port_number/service_name

希望这有帮助。
p、 如果无法将ojdbcjar添加到sqoop的lib中,还可以将jar文件的路径附加到$hadoop\u classpath变量中。

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/shared_folder/ojdbc6.jar

p、 在执行之前,将ojdbc jar修改为777。

wfveoks0

wfveoks02#

您使用的是什么版本的biginsights?您是否已在所有节点中加载了oracle odbc jar?sqoop在内部触发将从datanodes运行的Map作业。

相关问题