Hive 0.14 + hadoop 2.4.1 环境下的 jdbc连接

jopen 9年前

本文记录在Hive 0.14 + hadoop 2.4.1 环境下,如何时用 jdbc连接到hive

hive 的JDBC驱动还是比较好找的,在hive的包里就有 hive-jdbc-0.14.0-standalone.jar 是一个N合一的包,把它放到buildPath

除了这个包,还需要几个hadoop下的包,最后的buildpah如下图:

Hive 0.14 + hadoop 2.4.1 环境下的 jdbc连接

用服务模式启动hive,10010是监听的端口号

hive --service hiveserver 10010

下面是个示例代码,连接到hive以后建立了一个新表

package cn.pior.test;    import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.SQLException;  import java.sql.Statement;    public class HiveTest {        private static final String URLHIVE = "jdbc:hive://192.168.1.201:10010/default";      private static Connection connection = null;        public static Connection getHiveConnection() {          if (null == connection) {              synchronized (HiveTest.class) {                  if (null == connection) {                      try {                          Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");                          connection = DriverManager.getConnection(URLHIVE, "",                                  "");                      } catch (SQLException e) {                          e.printStackTrace();                      } catch (ClassNotFoundException e) {                          e.printStackTrace();                      }                  }              }          }          return connection;      }        public static void createTable() throws SQLException {          String tweetTableSql = "create table t2 (i int)";          Statement stmt = getHiveConnection().createStatement();          stmt.executeQuery(tweetTableSql);          stmt.close();      }        public static void main(String[] args) throws SQLException {          createTable();          getHiveConnection().close();      }  }