java 利用jdbc连接hive查询示例

转自http://ganliang13.iteye.com/blog/1736296

1.千万记得执行这个命令bin/hive --service hiveserver >/dev/null 2>/dev/null &,

否则就会出现hive ,Connection refuse 的异常。

 

2.加入包,我这里的环境是hadoop1.01,hive0.8.1

 

antlr-runtime-3.0.1.jar

commons-logging-api-1.0.4.jar

hadoop-core-1.0.1.jar

hive-exec-0.8.1.jar

hive-jdbc-0.8.1.jar

hive-metastore-0.8.1.jar

hive-service-0.8.1.jar

jdo2-api-2.3-ec.jar

libfb303.jar

log4j-1.2.15.jar

slf4j-api-1.4.3.jar

slf4j-log4j12-1.4.3.jar

 

3.代码

 

Java代码   收藏代码
  1. import java.sql.Connection;  
  2. import java.sql.DriverManager;  
  3. import java.sql.ResultSet;  
  4. import java.sql.Statement;  
  5.   
  6. public class HiveTestCase {  
  7.     public static void main(String[] args) throws Exception {  
  8.         Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");  
  9.   
  10.         //String dropSQL = "drop table javabloger";  
  11.         //String createSQL = "create table javabloger (key int, value string)";  
  12.         // hive插入数据支持两种方式一种:load文件,令一种为从另一个表中查询进行插入(感觉这是个鸡肋)  
  13.         // hive是不支持insert into...values(....)这种操作的  
  14.         //String insterSQL = "LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE javabloger";  
  15.         String querySQL = "SELECT name,address FROM people_test a";  
  16.   
  17.         Connection con = DriverManager.getConnection(  
  18.                 "jdbc:hive://localhost:10000/default""root""****");  
  19.         Statement stmt = con.createStatement();  
  20.         //stmt.executeQuery(dropSQL); // 执行删除语句  
  21.         //stmt.executeQuery(createSQL); // 执行建表语句  
  22.         //stmt.executeQuery(insterSQL); // 执行插入语句  
  23.         ResultSet res = stmt.executeQuery(querySQL); // 执行查询语句  
  24.   
  25.         while (res.next()) {  
  26.             System.out.println("Result: key:" + res.getString(1) + "  –>  value:" + res.getString(2));  
  27.         }  
  28.     }  
  29. }  

 

4.运行结果
Result: key:阿里马马  –>  value:北京海淀西四环
Result: key:甘亮  –>  value:湖北咸宁

你可能感兴趣的:(hive)