1、在hive 中启动hive服务,端口为10002.
hive --service hiveserver -p 10002
2、调用代码
package com.hrj.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * nohup hive --service hiveserver -p 10002 >/dev/null 2>hiveserverlog.out & * nohup hive --service hiveserver -p 10002 >/dev/null 2>/dev/null & * nohup hive --service hiveserver -p 10002 & * hive --service hiveserver -p 10002 * netstat -anp | grep 10002 * ps -ef | grep command * kill -9 pid * */ public class HiveJdbc { private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; public static void main(String[] args) throws SQLException { try { Class.forName(driverName); } catch (ClassNotFoundException e) { e.printStackTrace(); System.exit(1); } Connection con = DriverManager.getConnection("jdbc:hive://192.168.102.103:10002/hive", "root", "root"); Statement stmt = con.createStatement(); String tableName = "test"; stmt.execute("drop table if exists " + tableName); stmt.execute("create table " + tableName + " (key int, value string)"); // show tables String sql = "show tables '" + tableName + "'"; System.out.println("Running: " + sql); ResultSet res = stmt.executeQuery(sql); if (res.next()) { System.out.println(res.getString(1)); } // describe table sql = "describe " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1) + "\t" + res.getString(2)); } } }