java 通过jdbc驱动连接hive操作实例
2016-05-05 10:03
731 查看
1,hive首先要起动远程服务接口,命令:
nohup 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));
}
}
}
http://blog.csdn.net/okman1214/article/details/9379337
nohup 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));
}
}
}
http://blog.csdn.net/okman1214/article/details/9379337
相关文章推荐
- Java String 对 null 对象的容错处理
- 彻底搞懂 RxJava
- Java 多线程处理任务的封装
- 使用IntelliJ IDEA开发SpringMVC网站(四)用户管理
- Java 正则表达式详解
- 使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置
- Java中的泛型和类型擦除
- Java集合浅谈
- android笔记之Eclipse ADT的 keystore证书规格及修改证书密码别名
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- Java 垃圾清理基础理论
- Java 正则表达式详解
- Javaweb学习之关于分页
- 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
- windows Java编写hadoop程序
- java中的getter()和setter()
- Eclipse 快捷键 篇
- Javaweb学习之JSP基础
- Java中的基础----编程规则,开发原则,面向对象设计原则、面向对象的特征
- 【深入理解JVM】:Java内存区域