我还添加usr / local / share / hadoop / mapreduce / * jars,usr / local / hadoop / common,hive-exec-xxx.jar,hive-metastore-xxx.jar和hive-的所有jar文件JDBC-xxx.jar。
蜂巢终端运作良好。
我的代码是:
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)
答案 0 :(得分:3)
确定你想要哪个jar(配置单元)..因为它有不同的版本 旧的verison jar是
org.apache.hadoop.hive.jdbc.HiveDriver
最新的jar是org.apache.hive.jdbc.HiveDriver
here is the new settings
请检查您的依赖
答案 1 :(得分:0)
在您的代码中,提示hive的驱动程序类错误。它应该 d如下所示
private static String driverName =“org.apache.hive.jdbc.HiveDriver”;
如果上述更改无法解决您的问题,则表示jar文件不在您需要明确添加的类路径中。
对于基于maven的项目,您只需添加hive-jdbc jar的依赖项即可。
如果您不使用maven,那么在eclipse中执行以下步骤:
选择项目 - >构建路径 - >配置构建路径 - >图书馆 - > 添加外部罐子 - >选择hive-jdbc / hive-exec / hive-service jar的路径
除了hive jar,你需要添加其他依赖的jar作为http-core,http-client,hadoop-common,commons-logging,slf4j jars。