java 通过jdbc驱动连接hive操作实例
来源:互联网 发布:如何做网络写手 编辑:程序博客网 时间:2024/05/21 10:40
1,hive首先要起动远程服务接口,命令:
# ./hive --service hiveserver >/dev/null 2>/dev/null &
默认开发10000端口
在个别机器上,运行 ./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));
}
}
}
注意:HIVE的jdbc对中文的支持还有缺陷,获取的数据中文字符不可识别,解决办法见本人另一文章:http://blog.csdn.net/cfy_yinwenhao/article/details/6977882
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java通过JDBC驱动连接操作hive实例
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java通过jdbc驱动连接hive操作实例
- java通过JDBC驱动连接操作hive实例
- java通过JDBC驱动连接操作hive实例
- 通过JDBC驱动连接Hive操作实例
- 通过JDBC驱动连接Hive操作实例
- java 通过jdbc驱动连接hive操作
- java通过jdbc驱动连接hive
- Hive用户接口(二)—使用Hive JDBC驱动连接Hive操作实例
- Java通过JDBC连接Hive
- java 通过JDBC连接hive
- Java通过JDBC操作Hive
- Android开发之游戏中的常用技巧 ~1
- vim写程序常用技巧
- 新手进入黄金市场
- shell 执行sql 文件,mysql 和 oracle 版本
- hdoj 1248(背包问题)(动态规划)
- java 通过jdbc驱动连接hive操作实例
- 准备软考——理论应用
- 正确使用StringBuffer的subsString()和length()方法,提高代码性能
- 魔术方法__set()和__get()
- Qt的Model/View (二)
- JNI学习(1)
- Jar Hell 问题解决方案
- Qt 对象数据的声明和使用
- systemverilog interface