Hive個人心得筆記之JDBC
目錄
一.Hive的JDBC
一、概述
- hive實現了jdbc接口,所以可以通過java代碼操作
- hive的jdbc操作在實際應用中用的不多,一般都是在HDFS儲存的文件基礎上建立外部表來進行查詢處理。所以jdbc瞭解一下即可。
二、實現步驟:
1.在服務器端開啓HiveServer服務:
sh hive --service hiveserver2 & (以後臺線程啓動)
創建本地工程,導入jar包:
- 導入hive\lib目錄下的hive-jdbc-1.2.0-standalone.jar
- 導入hadoop-2.7.1\share\hadoop\common下的hadoop-common-2.7.1.jar
- 編寫jdbc代碼執行
/*
* 連接和查詢
*/
@Test
public void testConnectAndQuery() throws Exception {
//註冊數據庫驅動,用的hive的jdbc,驅動名固定寫死
Class.forName("org.apache.hive.jdbc.HiveDriver");
//如果用的是hive2服務,則寫jdbc:hive2,後面跟上hive服務器的ip以及端口號,端口號默認是10000
Connection conn = DriverManager.getConnection("jdbc:hive2://10.42.60.249:10000/park","root","root");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("select * from stu");
while(rs.next()){
String name = rs.getString("name");
System.out.println(name);
}
stat.close();
conn.close();
}
/*
* 利用executeUpdate()方法是實現建表的創建、插入數據及刪除表
*/
@Test
public void testInsert() throws Exception{
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection conn = DriverManager.getConnection("jdbc:hive2://192.168.234.21:10000/park","root","root");
Statement stat = conn.createStatement();
//executeUpdate可用於:創建表,向表中插入數據以及刪除表
stat.executeUpdate("insert into table stu values(2,'rose')");
stat.executeUpdate("create table stu2(id int,name string) row format delimited fields terminated by ' '");
stat.executeUpdate("drop table stu2");
stat.close();
stat.close();
}
JDBC不重要