我正在尝试连接到远程配置单元服务器。我有以下maven java代码:
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
public static void main(String[] args) throws SQLException {
try {
// Register driver and create driver instance
Class.forName(driverName);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ForHive.class.getName()).log(Level.SEVERE, null, ex);
}
// get connection
System.out.println("before trying to connect");
Connection con = DriverManager.getConnection("jdbc:hive://<hostip>:10000/", "hive", "");
System.out.println("connected");
// create statement
Statement stmt = con.createStatement();
// execute statement
stmt.executeQuery("CREATE TABLE IF NOT EXISTS "
+" consultant ( eid int, name String, "
+" salary String, destignation String)"
+" COMMENT ‘Employee details’"
+" ROW FORMAT DELIMITED"
+" FIELDS TERMINATED BY ‘\t’"
+" LINES TERMINATED BY ‘\n’"
+" STORED AS TEXTFILE;");
System.out.println("Table employee created.");
con.close();
}
但是当我执行它时,它会在尝试连接到服务器时卡住并且也不会抛出异常。
答案 0 :(得分:0)
尝试使用org.apache.hive.jdbc.HiveDriver
驱动程序。
连接字符串
jdbc:hive2://<host>:10000/
答案 1 :(得分:0)
以下方式是您遇到问题的原因。
1.Hive JDBC类路径是“org.apache.hive.jdbc.HiveDriver”而不是“org.apache.hadoop.hive.jdbc.HiveDriver”。
2.对于配置单元服务器,
你可以使用如下。
Connection con = DriverManager.getConnection(“jdbc:hive://:10000 / default”,“”,“”);
3.如果您使用了hiveserver2,
您使用以下连接。
Connection con = DriverManager.getConnection(“jdbc:hive2://:10000 / default”,“”,“”);
以上方式肯定对您有所帮助