java.sql.SQLException:没有为jdbc找到合适的驱动程序:hive:// localhost:10000 / default

时间:2015-11-15 16:41:36

标签: java hadoop jdbc hive

我是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

这里的任何人都知道它怎么会发生?以及如何解决?

2 个答案:

答案 0 :(得分:20)

我找到了解决方案。我使用hive 1.2.1所以我需要写jdbc:hive2://localhost:10000/default而不是jdbc:hive://localhost:10000/default

谢谢

答案 1 :(得分:2)

我正在使用hive-jdbc-1.0.0.jar,我已成功建立与hive db的连接。我也在分享我在这里使用的其他细节。

司机名:org.apache.hive.jdbc.HiveDriver
网址:("jdbc:hive2://localhost:10000/default","username","password")

以下是我用于项目从我的java项目中处理hive数据库的总罐子。

enter image description here