使用JDBC连接到Hive 2.3.0

时间:2018-12-12 16:30:38

标签: java hadoop hive

首先,如果这个问题多余,我想道歉。 在发布之前,我对整个网站和整个网络进行了彻底的研究,但都没有结果。我已经尝试了很多不同的建议,但没有一个为我解决。 我正在尝试编写一个Java程序,该程序将连接到远程群集中的Hive 2.3.0,但始终会出现错误。

java.lang.ClassNotFoundException: 
org.apache.hadoop.hive.jdbc.HiveDriver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at CreateDB.main(CreateDB.java:12)
java.sql.SQLException: No suitable driver found for 
jdbc:hive://##########:####/default
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at CreateDB.main(CreateDB.java:20)
Exception in thread "main" java.lang.NullPointerException
at CreateDB.main(CreateDB.java:27)

我正在TutorialsPoint网站上使用this示例中的代码(“创建数据库”示例) 我包括:     hive-exec-0.8.1.jar     蜂巢jdbc-3.1.0.3.1.0.0-78.jar     hive-jdbc-3.1.0.3.1.0.0-78-sources.jar     hadoop-common-2.4.0.jar 在我的构建路径中,但是并不能解决问题。

在此先感谢大家提供的帮助。

1 个答案:

答案 0 :(得分:0)

我建议使用简化的项目而不是简单的Java项目。您的pom必须装有以下罐子。

另请参阅github示例link

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.6.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-core</artifactId>
    <version>2.6.0-mr1</version>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-service</artifactId>
    <version>2.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-exec</artifactId>
    <version>1.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>1.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-metastore</artifactId>
    <version>1.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-service</artifactId>
    <version>1.1.0</version>
</dependency>