1、Hive2 beeline
Beeline 要與HiveServer2配合使用,支持嵌入模式和遠程模式
啟動beeline
打開兩個Shell窗口,一個啟動Hive2 一個beeline連接hive2
#啟動HiverServer2 , ./bin/hiveserver2 [root@node5 ~]# hiveserver2 16/02/23 22:55:25 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist
#啟動Beeline # $ ./bin/beeline 下面的方式需要配置Hive的環境變量 [root@node5 ~]# beeline Beeline version 1.2.1 by Apache Hive beeline>
啟動beeline之后可以嘗試連接hiveserver2
beeline> !connect jdbc:hive2://node5:10000 Connecting to jdbc:hive2://node5:10000 Enter username for jdbc:hive2://node5:10000: #默認 用戶名就是登錄賬號 密碼為空
2、Hive jdbc
打開Eclipse 新建一個Java 項目:
public class Demo { public static void main(String[] args) { try { Class.forName("org.apache.hive.jdbc.HiveDriver"); Connection conn = DriverManager.getConnection("jdbc:hive2://node5:10000/hive","root","123456"); String sql = "select * from news"; Statement sment = conn.createStatement(); ResultSet rs = sment.executeQuery(sql); while(rs.next()){ HiveQueryResultSet hqrs = (HiveQueryResultSet)rs; System.out.println(hqrs.getString(1)+"\t"+hqrs.getString(2)); } conn.close(); } catch (Exception e) { e.printStackTrace(); } } }
在Hive數據庫中有這樣一個表 news
hive> use hive > ; OK Time taken: 4.244 seconds hive> select * from news; OK 1 I'm tom 2 what are you doing 3 i'm ok Time taken: 1.247 seconds, Fetched: 3 row(s)
執行完Java代碼以后,可以看到數據正常查詢出來了: