簡體   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