java 连接 hiveserver2 例子
启动了 hiveserver2 以后才能使用 程序连接 。目前的 使用的 是 server2 版本。和以前的版本驱动包名不同:
package hadoop; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class HiveJdbcTest { private static String driverName = "org.apache.hive.jdbc.HiveDriver";
private static String connctUrl = "jdbc:hive2://centos1:10000/default";
private static String userName = "root";
private static String password = ""; public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName(driverName); Connection con = DriverManager.getConnection(connctUrl, userName, password);
Statement stmt = con.createStatement();
String tableName = "test"; //创建表
stmt.execute("create table if not exists " + tableName + " (id bigint, name string,age int)"); //插入
stmt.execute("insert into " +tableName + "( id ,name ,age ) values(1,'张三',100 )" );
stmt.execute("insert into " +tableName + "( id ,name ,age ) values(2,'李四',200 )" );
stmt.execute("insert into " +tableName + "( id ,name ,age ) values(3,'王五',300 )" ); //查询
ResultSet res = stmt.executeQuery( "select * from " + tableName );
while (res.next()) {
System.out.println( res.getLong(1) +"," + res.getString(2) + "," + res.getInt(3) );
} stmt.close();
con.close(); }
}
备注:版本2 是 org.apache.hive.jdbc.HiveDriver 版本 1 是 ,org.apache.hadoop.hive.jdbc.HiveDriver
备注2: 协议 版本2 也变成 jdbc:hive2, 版本1 是 jdbc:hive
hive 是一个 mapreduce 的 翻译工具。不是真正的数据库。他也没有真正的存放数据。它适合预先对大数据做统计分析。而不是提供 实时的查询。正常的做法应该使用 hive sql 查询出 统计分析结果,然后 缓存到 及时性高的 数据库中。以供 用户查询。另外 hive的 查询 及时性不高,应该考虑线程阻塞问题。或者直接把查询结果输出到 hdfs的 指定位置。任务执行完成以后我们可以考虑在用户查询的时候直接去这个结果目读取数据。如果有了我们可以吧这个结果缓存起来,下次用户读取就快了。
输入到文件 的方法 参考:https://i.cnblogs.com/EditPosts.aspx?postid=9743514 常见语法部分 第 12 条,
java 连接 hiveserver2 例子的更多相关文章
- java连接hiveserver2
public class App { private static String driverName = "org.apache.hive.jdbc.HiveDriver"; p ...
- 用Java代码通过JDBC连接Hiveserver2
1.在终端启动hiveserver2#hiveserver2 2.使用beeline连接hive另外打开一个终端,输入如下命令(xavierdb必须是已经存在的数据库)#beeline -u jdbc ...
- 几个主流java连接池
池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...
- Java 连接MongoDB
1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...
- 【原创】大叔经验分享(38)beeline连接hiveserver2报错impersonate
beeline连接hiveserver2报错 Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost: ...
- 转载: 几个主流的Java连接池整理
https://www.cnblogs.com/linjian/p/4831088.html 池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所 ...
- java连接mysql数据库实例
做游戏客户端多一年多了,在大学学的java的SSH,基本上都忘完了,今天看了一下发现基本的连接数据库的都忘了...太可怕了这遗忘的速度. 所以写了个连接的例子吧..安装好mysql数据库之后新建了两张 ...
- 几个主流的Java连接池整理
池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...
- 通过JDBC连接HiveServer2
如果通过JDBC连接HiveServer2时提示:User: hive is not allowed to impersonate hive,需要在core-site.xml中新增如下配置: hado ...
随机推荐
- ubantu 安装redis
安装Redis服务器端 ~ sudo apt-get install redis-server 安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序 检查Redis服务器系统进程 ~ ...
- python Django rest-framework 创建序列化工程步骤
11创建项目 2创建应用 3stting添加应用(apps)-添加制定数据库-修改显示汉字(zh-hans)-上海时区(Asia/Shanghai) 4主路由添加子路由 5应用里创建子路由 6创建数据 ...
- vuejs 在移动端调起键盘并触发‘前往’按钮
<template> <div class="display"> <form @submit.prevent> <input @keyup ...
- Spring 消息
RMI.Hessian/Burlap的远程调用机制是同步的.当客户端调用远程方法时,客户端必须等到远程方法完成之后,才能继续执行.即使远程方法不向客户端返回任何消息,客户端也要被阻塞知道服务完成. 消 ...
- JAVA的设计模式之装饰设计模式
1.装饰设计模式 顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下: 2.看这个图可能不容易理解,举两个 ...
- [转]Cross-type joins in Elasticsearch
Cross-type joins in Elasticsearch http://rore.im/posts/elasticsearch-joins December 31, 2014 When mo ...
- 微信小程序中时间转化为时间戳(安卓和苹果兼容性)
在IOS中时间显示NAN,后来才知道是由于安卓和IOS时间解析时间的时间格式不一致: 在安卓机中2018-06-21 16:00:21 IOS识别的格式是 2018/06/21: 所以在处理IOS机器 ...
- reids的搭建
---恢复内容开始--- redis的安装 源码包安装 以reids3.0为例 先安装编译的软件 gcc gcc-c++ make yum -y install gcc gcc-c++ make ...
- TensorRT caffemodel serialize
1.TensorRT的需要的文件 需要的基本文件(不是必须的) 1>网络结构文件(deploy.prototxt) 2>训练的权重模型(net.caffemodel) TensorRT 2 ...
- 获取图像的ROI模板区域
前言 项目需要得到视频帧图像的某一区域作为模板,首先需要确定ROI区域的坐标范围,很简单,直接上代码. % /********************************************* ...