java 利用jdbc连接hive查询示例

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.代码

 

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 name,address FROM people_test a";

		Connection con = DriverManager.getConnection(
				"jdbc:hive://localhost:10000/default", "root", "****");
		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));
		}
	}
}

 

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

你可能感兴趣的:(java,jdbc,查询,示例,hive连接)