web-dev-qa-db-ja.com

java.sql.SQLException:jdbc:Hive:// localhost:10000 / defaultに適したドライバーが見つかりません

私はHadoopとエコシステムに不慣れです。 JavaでJDBCを使用してHiveを試しています。これは、ドライバーをテストするためだけの私の単純なコードです。

import Java.sql.DriverManager;
import Java.sql.SQLException;

public class PrepareHiveTable {
    private static String driverName = "org.Apache.Hive.jdbc.HiveDriver";

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName(driverName);
        Connection con = DriverManager.getConnection("jdbc:Hive://localhost:10000/default", "", "");
    }
}

インポートしましたorg.Apache.Hive.jdbc.HiveDriverをクラスパスに追加します。これは、私のDriverManagerのドライバーリストです。

org.Apache.calcite.avatica.remote.Driver@45ff54e6
org.Apache.calcite.jdbc.Driver@3581c5f3
org.Apache.derby.jdbc.AutoloadedDriver40@4f8e5cde
com.mysql.jdbc.Driver@6f75e721
org.Apache.Hive.jdbc.HiveDriver@69222c14

しかし、コードを実行すると、次のエラーが発生します。

Exception in thread "main" Java.sql.SQLException: No suitable driver found for 
jdbc:Hive://localhost:10000/default
    at Java.sql.DriverManager.getConnection(DriverManager.Java:689)
    at Java.sql.DriverManager.getConnection(DriverManager.Java:247)
    at PrepareHiveTable.main(PrepareHiveTable.Java:24)
Java Result: 1

ここの誰かがそれがどのように起こるか知っていますか?そしてそれを解決する方法は?

10

私は解決策を見つけました。 Hive 1.2.1を使用しているので、jdbc:Hive2://localhost:10000/defaultの代わりにjdbc:Hive://localhost:10000/defaultを記述する必要があります。

ありがとうございました

21

Hive-jdbc-1.0.0.jarを使用していて、Hiveデータベースへの接続が正常に確立されました。ここで使用した他の詳細も共有しています。

ドライバー名:org.Apache.Hive.jdbc.HiveDriver
URL:("jdbc:Hive2://localhost:10000/default","username","password")

以下は、私のJavaプロジェクトからHiveデータベースで作業するためにプロジェクトに使用したjarの合計です。

enter image description here

3
mannedear