java 利用jdbc连接hive查询示例

本文介绍如何通过执行特定命令启动HiveServer并解决连接拒绝问题。提供了使用JDBC连接Hive的具体代码示例,并展示了如何查询Hive表的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自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:湖北咸宁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值