通过Java API操作hive,算是测试hive第三种对外接口


测试hive 服务启动


 package org.admln.hive;

 import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager; public class testHive { private static String driverName =
"org.apache.hadoop.hive.jdbc.HiveDriver"; public static void main(String[] args)
throws SQLException {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
} Connection con = DriverManager.getConnection(
"jdbc:hive://192.168.126.133:10000/default", "hive", "hadoop");
Statement stmt = con.createStatement();
String tableName = "hellohive";
stmt.execute("drop table if exists " + tableName);
stmt.execute("create table " + tableName +
" (key int, value string)");
System.out.println("Create table success!");
// show tables
String sql = "show tables '" + tableName + "'";
System.out.println("Running: " + sql);
ResultSet res = stmt.executeQuery(sql);
if (res.next()) {
System.out.println(res.getString(1));
} // describe table
sql = "describe " + tableName;
System.out.println("Running: " + sql);
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1) + "\t" + res.getString(2));
} sql = "select * from " + tableName;
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(String.valueOf(res.getInt(1)) + "\t"
+ res.getString(2));
} sql = "select count(1) from " + tableName;
System.out.println("Running: " + sql);
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1));
}
}
}

结果:


jdbc链接中后面两个参数不应该是用户名和密码,我傻乎乎的都天上,但是测试无论填什么或者不填都可以链接成功

为什么会这样,难道hive默认谁都可以链接?


用到的jar包

 hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar
$HIVE_HOME/lib/hive-exec-0.11.0.jar
$HIVE_HOME/lib/hive-jdbc-0.11.0.jar
$HIVE_HOME/lib/hive-metastore-0.11.0.jar
$HIVE_HOME/lib/hive-service-0.11.0.jar
$HIVE_HOME/lib/libfb303-0.9.0.jar
$HIVE_HOME/lib/commons-logging-1.0.4.jar
$HIVE_HOME/lib/slf4j-api-1.6.1.jar

代码是摘抄的。

http://www.iteblog.com/archives/846


最新文章

  1. Android编译环境折腾记
  2. Activemq消息类型
  3. hdu 2256 Problem of Precision 构造整数 + 矩阵快速幂
  4. 【JSONCpp】简介及demo
  5. hdu 4672 Present Day, Present Time 博弈论
  6. hdu 4502 吉哥系列故事——临时工计划(dp)
  7. Jquery Ajax Get示例
  8. JavaScript数学函数的操作
  9. jQuery慢慢啃之文档处理(五)
  10. $POST 、$HTTP_RAW_POST_DATA、php://input三者之间的差别
  11. Windows搭建以太坊的私有链环境
  12. HDU 3682 To Be an Dream Architect:查重【三维坐标系中点在实数上的映射】
  13. 转:【Java集合源码剖析】Hashtable源码剖析
  14. “《编程珠玑》(第2版)第2章”:B题(向量旋转)
  15. 谷歌浏览器添加JSON-handle插件
  16. udev磁盘绑定
  17. Android requestcode resultcode的作用
  18. onchange 事件
  19. python,接口自动化有几大类
  20. PPT里面的背景音乐找不到?

热门文章

  1. asmcmd报错
  2. JavaScript中的事件冒泡机制
  3. support vector regression与 kernel ridge regression
  4. Java中的return
  5. C++ 我想这样用(二)
  6. 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇:简介及目录》(附上完整工程文件)
  7. struts2框架开发的第一个应用
  8. c函数调用过程原理及函数栈帧分析
  9. Codeforces Round #353 (Div. 2) D. Tree Construction (二分,stl_set)
  10. Android之基于HTTP协议的下载