首先,如果这个问题多余,我想道歉。 在发布之前,我对整个网站和整个网络进行了彻底的研究,但都没有结果。我已经尝试了很多不同的建议,但没有一个为我解决。 我正在尝试编写一个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 在我的构建路径中,但是并不能解决问题。
在此先感谢大家提供的帮助。
答案 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>