我也添加所有jar文件的usr/local/share/hadoop/mapreduce/* jar,usr/local/hadoop/common ,hive-exec-xxx.jar,hive-metastore-xxx.jar和hive-jdbc-xxx.jar。java.lang.ClassNotFoundException:在eclipse中的org.apache.hadoop.hive.jdbc.HiveDriver
蜂巢終端運行良好。
我的代碼是:
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
try {
Class.forName(driverName);
Connection con;
con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
Statement stmt = con.createStatement();
stmt.executeQuery("CREATE DATABASE demodb");
System.out.println("Database userdb created successfully.");
con.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
例外:
java.lang.ClassNotFoundException: org.apache.hadoop.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(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at hive.CRUDHive.main(CRUDHive.java:15)
我建議您使用Maven/Gradle如果你真的想要在項目中包含Hadoop庫。 Apache Spark也可以更容易地集成到您的Hadoop代碼中 –
您的驅動程序類不在您的運行時類路徑中。如果你可以使用cricket_007建議,那會更好。 – dumitru
我是hadoop中的新成員,你能解釋我如何檢查驅動程序類是否在正確的類路徑中。 –