【问题标题】:Sqoop : import data from OracleSqoop:从 Oracle 导入数据
【发布时间】:2013-06-10 12:20:47
【问题描述】:

我尝试使用 Sqoop 从 Oracle 数据库导入数据。

我已将 Oracle JDBC 驱动程序 (ojdbc6.jar) 放入 SQOOP_HOME/lib。

我的 JDK 是 1.6 版本。

这是我的查询:

sqoop import --hive-import --connect jdbc:oracle:thin@<ip_server>:1521/db --table ENTITE --username username --password password 

但是,当我启动命令时,我得到了这个错误:

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

我不明白为什么 Sqoop 无法连接到我的数据库服务器。

感谢您的帮助

【问题讨论】:

    标签: oracle jdbc hadoop hive sqoop


    【解决方案1】:

    如果您使用 sqoop 1.4.2 假设基于上面的 ojdbc6.jar,那么请在此处查看关于 Kathleen 的 --driver 用法的 cmets,因为它不应该是必需的:

    https://issues.apache.org/jira/browse/SQOOP-457

    使用 sqoop 1.4.2 并将 ojdbc6.jar 放入我的 sqoop/lib 中,此字符串适用于 HDP 1.3 和 MapR 2.0:

    sqoop import --connect "jdbc:oracle:thin:@(description=(address=(protocol=tcp)(host=myhost)(port=1521))(connect_data=(service_name=myservice)))" \
    --username USER --table SCHEMA.TABLE_NAME --hive-import --hive-table SCHEMA.TABLE_NAME \
    --num-mappers 1 --verbose -P \
    

    如果您可以访问 mysql 和/或 sql server 等,也请测试它们并确保您的 lib 目录已被拾取。 SQL Server 应该/应该在 sqoop 1.4 中,但文档和尝试使用它证明并非如此:

    http://www.microsoft.com/en-us/download/confirmation.aspx?id=11774 - 这是你想要的 sql server 测试。

    干杯。

    【讨论】:

      【解决方案2】:

      需要在sqoop lib目录下添加oracle jdbc驱动

      【讨论】:

      • 链接?放在哪里?
      • 很抱歉我现在不记得了。很久以前了。
      【解决方案3】:

      您必须下载 oracle 连接器 jar 文件并将该 jar 文件复制到 Sqoop 的 lib 文件夹。

      jar文件可以从http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html下载

      将此 jar 文件复制到您的 Sqoop lib 文件夹 (/usr/lib/sqoop/lib)

      然后运行 ​​sqoop 命令。

      【讨论】:

      【解决方案4】:

      通过添加 echo 检查您的 sqoop 类路径,并确保您的驱动程序位于类路径中。我遇到过同样的问题并解决了。

      【讨论】:

        【解决方案5】:

        查看报错信息:Could not load db driver class: oracle.jdbc.oracleDriver 您需要使用高寄存器“O”键入 oracle.jdbc.OracleDriver,因为 java 区分大小写

        【讨论】:

          【解决方案6】:

          错误提示 sqoop 无法加载 oracle 驱动程序类,因为它的路径中没有 ojdbc 驱动程序 jar 文件。首先,您必须将 ojdbc 驱动程序 jar 添加到 sqoop 主目录的 lib 文件夹中。请在此处下载

          http://www.java2s.com/Code/Jar/o/Downloadojdbc6jar.htm
          

          【讨论】:

            【解决方案7】:

            oracle ojdbc6.jar 需要复制到 sqoop/lib 目录下才能正常工作。

            【讨论】:

              【解决方案8】:

              你可以这样声明你使用的oracle驱动

              sqoop import --hive-import --driver oracle.jdbc.driver.oracledriver --connect jdbc:oracle:thin@&lt;ip_server&gt;:1521/db --table ENTITE --username username --password password

              【讨论】:

              • 感谢您的回复,但是当我尝试使用此选项时遇到同样的错误:-(
              【解决方案9】:

              sqoop import --connect "jdbc:oracle:thin:@(description=(address=(protocol=tcp)(host=hostip)(port=1521))(connect_data=(service_name=servicename)))" - -username 用户 --password pwd --table schema.tablename --hive-import --num-mappers 1 --verbose -P

              【讨论】:

              • 提供一点解释,这是一个更好的答案!
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多