为Sqoop导入禁用Oraoop

时间:2015-07-23 14:14:37

标签: sqoop hortonworks-data-platform

我正在使用Hortonworks HDP Sandbox,并且我按照说明安装了Oraoop,但每当我运行Sqoop导入时,我都会收到消息“oracle.OraOopManagerFactory:Oracle和Hadoop的数据连接器被禁用。”。我不知道还有什么我需要做的才能拿起它。我已经验证了oraoop驱动程序在我的sqoop lib目录中。导入确实有效,但他们只是使用oracle驱动程序,我想使用Oraoop获得的一些功能。

这是我正在运行的命令:

sqoop-import --connect jdbc:oracle:thin:@<ip>:1521/sid --username myUser -P --query "select * from mytable where \$CONDITIONS" -split-by sequence_id -as-sequencefile --target-dir /user/hue/data/deactivatedsponsor

2 个答案:

答案 0 :(得分:1)

如果指定'--query'参数代替'--table'parm,则不使用Oraoop连接器。 Sqoop Documentation

中提到了以下内容
  

Data Connector for Oracle和Hadoop对具有以下属性的Sqoop Jobs负责:

     

Oracle相关

     

基于表格 - 使用表格参数且指定对象为表格的作业。

以下命令应使用Oraoop Connector。我已经包含了“--direct”选项,它向Sqoop表明应该使用Oraoop。

sqoop-import --connect jdbc:oracle:thin:@<ip>:1521/sid --direct --username myUser -P --table mytable -split-by sequence_id -as-sequencefile --target-dir /user/hue/data/deactivatedsponsor --columns <columns list> --where <where condition if needed>

答案 1 :(得分:0)

Oraoop连接器无法处理--query工具,当您使用--query时,它会自动调用sqoop。 因此,不要使用--query使用--table进行导入。 希望这会有所帮助!!