线程“main”java中出现异常。lang.ClassNotFoundException:org。阿帕奇。蜂箱jdbc。希维德河
我有一个名为handson的hive数据库,我正在尝试显示来自handson的记录。EMP_数据表使用java代码。我正在使用hive-1.2.1版本。当我试图从主目录完成并运行代码时,它抛出java。lang.ClassNotFoundException:org。阿帕奇。蜂箱jdbc。希维德河。我已经包括了我的java代码,hive站点。xml,错误发生在下面:
这是我的java代码
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
public class readEmpHive {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
//private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; <--- I have also tried running this
public static void main(String[] args) throws SQLException, ClassNotFoundException {
// Register driver and create driver instance
Class.forName(driverName);
// get connection
System.out.println("working?");
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/handson", "root", "root");
/*
I have also tried this
Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/handson", "root", "root");
*/
System.out.println("working!!!");
// create statement
Statement stmt = con.createStatement();
// execute statement
String query = "SELECT * FROM EMP_DATA";
ResultSet res = stmt.executeQuery(query);
System.out.println(" Empno \t EName \t Job \t Salary \t Deptno ");
while(res.next()){
int empno = res.getInt(1);
String ename = res.getString(2);
String job = res.getString(3);
int sal = res.getInt(4);
int deptno = res.getInt(5);
System.out.println(empno+", "+ename+", "+job+", "+sal+", "+deptno);
}
con.close();
}
}
这是我的蜂巢网站。xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://localhost:9083</value>
<description>IP address (or fully-qualified domain name) and port of the metastore host</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hivemetadb?createDatabaseIfNotExist=true</value>
<description>the URL of the MySQL database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
<property>
<name>hive.hwi.listen.host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hive.hwi.listen.port</name>
<value>9999</value>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-1.2.1.war</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://localhost:9083</value>
<description>IP address (or fully-qualified domain name) and port of the metastore host</description>
</property>
</configuration>
当我编译并运行我的代码时,我得到了一个错误
hduser@hadoop:~$ javac readEmpHive.java
hduser@hadoop:~$ java readEmpHive
Exception in thread "main" java.lang.ClassNotFoundException: org.apache.hive.jdbc.HiveDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(Clas
共 (0) 个答案