连接到远程HIVE服务器

时间:2015-04-29 13:09:46

标签: java maven hive

我正在尝试连接到远程配置单元服务器。我有以下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();

}

但是当我执行它时,它会在尝试连接到服务器时卡住并且也不会抛出异常。

2 个答案:

答案 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”,“”,“”);

以上方式肯定对您有所帮助