Hive 0.14 + hadoop 2.4.1 环境下的 jdbc连接
jopen
10年前
本文记录在Hive 0.14 + hadoop 2.4.1 环境下,如何时用 jdbc连接到hive
hive 的JDBC驱动还是比较好找的,在hive的包里就有 hive-jdbc-0.14.0-standalone.jar 是一个N合一的包,把它放到buildPath
除了这个包,还需要几个hadoop下的包,最后的buildpah如下图:
用服务模式启动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(); } }