Java 下Hive编程

首先假定你的Hive已经部署完毕。

导入hive 下所有包

linux 下启动您的Hive:

[root@xxx bin]# hive --service hiveserver 50031
Starting Hive Thrift Server

Hive 连接
 1 package hadoop.demo.hive;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 
 7 public class getConnect {
 8     private static Connection conn = null;
 9     private static Connection connToMysql = null;
10 
11     private getConnect() {
12     }
13 
14     // 获得hive连接
15     public static Connection GetHiveConn() throws SQLException {
16         if (conn == null) {
17             try {
18                 Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
19             } catch (ClassNotFoundException e) {
20 
21                 e.printStackTrace();
22                 System.exit(1);
23             }
24             conn = DriverManager.getConnection(
25                     "jdbc:hive://Ip:50031/default", "", "");
26         }
27         return conn;
28     }
29 
30     // 获得sql连接
31     public static Connection getMySqlConn() throws SQLException {
32         if (connToMysql == null) {
33             try {
34                 Class.forName("com.mysql.jdbc.Driver");
35             } catch (ClassNotFoundException e) {
36 
37                 e.printStackTrace();
38                 System.exit(1);
39             }
40             connToMysql = DriverManager.getConnection(
41                     "jdbc:mysql://ip:3306/hive", "junjun", "123456");
42         }
43         return connToMysql;
44     }
45 
46     public static void closeHive() throws SQLException {
47         if (conn != null) {
48             conn.close();
49         }
50     }
51 
52     public static void closeMysql() throws SQLException {
53         if (connToMysql != null) {
54             connToMysql.close();
55         }
56     }
57 }
Hive工具类
 1 package hadoop.demo.hive;
 2 
 3 import java.sql.Connection;
 4 import java.sql.ResultSet;
 5 import java.sql.SQLException;
 6 import java.sql.Statement;
 7 
 8 /**
 9  * Hive工具类
10  * 
11  * @author xiaoyun.zhao
12  * 
13  */
14 public class HiveUtil {
15     public static void createTable() {
16     }
17 
18     public static ResultSet queryHive(String hql) throws SQLException {
19         Connection conn = getConnect.GetHiveConn();
20         Statement stmt = conn.createStatement();
21         ResultSet rs = stmt.executeQuery(hql);
22         return rs;
23     }
24 }
测试函数
 1 package hadoop.demo.hive;
 2 
 3 import java.sql.ResultSet;
 4 
 5 public class HiveMain {
 6 
 7     public static void main(String[] args) throws Exception {
 8 
 9         ResultSet res = HiveUtil.queryHive("select * from pokes");
10 
11         while (res.next()) {
12             System.out.println("Result: key:" + res.getString(1)
13                     + "  –>  value:" + res.getString(1));
14         }
15     }
16 }
原文地址:https://www.cnblogs.com/yhql/p/yhql_916.html