繁体   English   中英

找不到适合 jdbc:hive2 的驱动程序

[英]No suitable driver found for jdbc:hive2

尝试使用 JDBC 连接到 hive。

网址: jdbc:hive2://...

驱动程序: org.apache.hive.jdbc.HiveDriver

我在类路径上:

  • /usr/hdp/current/hive-client/lib/hive-jdbc.jar (3.1.0)
  • /usr/hdp/current/hive-client/lib/hive-common.jar (3.1.0)
  • /usr/hdp/current/hive-client/lib/hive-service.jar (3.1.0)
  • /usr/hdp/current/hadoop-client/hadoop-common.jar (3.1.1)
  • /usr/hdp/current/hive-client/lib/hive-service.jar (3.1.0)
  • /usr/hdp/current/hive-client/lib/libthrift-0.9.3-1.jar
  • /usr/hdp/current/hive-client/lib/libfb303-0.9.3.jar
  • /usr/hdp/current/hive-client/lib/hive-exec.jar (3.1.0)
  • /usr/hdp/current/hive-client/lib/hive-jdbc-handler.jar (3.1.0)

我收到错误消息“找不到适合 jdbc:hive2 的驱动程序”。 我究竟做错了什么?

Apache Hive(版本 3.1.0.3.1.4.0-315)

  def configure(hiveConfig: HiveSettings): Either[String, Unit] =
for {
  _ <- Either
    .catchNonFatal(Class.forName("org.apache.hive.jdbc.HiveDriver"))
    .leftMap(_.getMessage)
  _ <- Either.right(ConnectionPool.singleton(hiveConfig.url, null, null))
} yield {
  Logger.debug(s"Hive URL: [${hiveConfig.url}]")
}

在打开连接之前尝试显式加载 Hive 驱动程序。 您的版本似乎不符合 JDBC4,即不会自动加载。

try {
      Class.forName("org.apache.hive.jdbc.HiveDriver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM