java 通过jdbc驱动连接hive操作实例
http://blog.csdn.net/ghychina/article/details/7429577
轉自:http://blog.csdn.net/a221133/article/details/6734762
1,hive首先要起動遠程服務接口,命令:
nohup hive –service hiveserver??&?
2,java工程中導入相應的需求jar包,列表如下:
antlr-runtime-3.0.1.jar
hive-exec-0.7.1.jar
hive-jdbc-0.7.1.jar
hive-metastore-0.7.1.jar
hive-service-0.7.1.jar
jdo2-api-2.3-ec.jar
libfb303.jar
3,簡單測試代碼,已經測試成功操作
package com.javabloger.hive;
? ? ? ? import java.sql.Connection;
? ? ? ? import java.sql.DriverManager;
? ? ? ? import java.sql.ResultSet;
? ? ? ? import java.sql.Statement;
? ? ? ? public class HiveTestCase {
? ? ? ?? ???public static void main(String[] args) throws??Exception {
? ? ? ?? ?? ?? ?Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
? ? ? ?? ?? ?? ?
? ? ? ?? ?? ?? ?String dropSQL="drop table javabloger";
? ? ? ?? ?? ?? ?String createSQL="create table javabloger (key int, value string)";
? ? ? ? ? ? ? ?//hive插入數據支持兩種方式一種:load文件,令一種為從另一個表中查詢進行插入(感覺這是個雞肋)?
? ? ? ? ? ? ? ?//hive是不支持insert into...values(....)這種操作的
? ? ? ? ? ? ? ?String insterSQL="LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE javabloger";
? ? ? ?? ?? ?? ?String querySQL="SELECT a.* FROM javabloger a";
? ? ? ?? ?? ?? ?
? ? ? ?? ?? ?? ?Connection con = DriverManager.getConnection("jdbc:hive://192.168.X.X:10000/default", "", "");
? ? ? ?? ?? ?? ?Statement stmt = con.createStatement();
? ? ? ?? ?? ?? ?stmt.executeQuery(dropSQL);??// 執行刪除語句
? ? ? ?? ?? ?? ?stmt.executeQuery(createSQL);??// 執行建表語句
? ? ? ?? ?? ?? ?stmt.executeQuery(insterSQL);??// 執行插入語句
? ? ? ?? ?? ?? ?ResultSet res = stmt.executeQuery(querySQL);? ?// 執行查詢語句
? ? ? ?? ?? ?? ?
? ? ? ?? ?? ?? ???while (res.next()) {
? ? ? ?? ?? ?? ?? ? System.out.println("Result: key:"+res.getString(1) +"??–>??value:" +res.getString(2));
? ? ? ?? ?? ?? ?}
? ? ? ?? ???}
? ? ? ? }
總結
以上是生活随笔為你收集整理的java 通过jdbc驱动连接hive操作实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用sqoop将hive数据导入导出数据
- 下一篇: MongoDB分布式操作——分片操作