启动了  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 例子的更多相关文章

  1. java连接hiveserver2

    public class App { private static String driverName = "org.apache.hive.jdbc.HiveDriver"; p ...

  2. 用Java代码通过JDBC连接Hiveserver2

    1.在终端启动hiveserver2#hiveserver2 2.使用beeline连接hive另外打开一个终端,输入如下命令(xavierdb必须是已经存在的数据库)#beeline -u jdbc ...

  3. 几个主流java连接池

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  4. Java 连接MongoDB

    1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...

  5. 【原创】大叔经验分享(38)beeline连接hiveserver2报错impersonate

    beeline连接hiveserver2报错 Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost: ...

  6. 转载: 几个主流的Java连接池整理

    https://www.cnblogs.com/linjian/p/4831088.html 池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所 ...

  7. java连接mysql数据库实例

    做游戏客户端多一年多了,在大学学的java的SSH,基本上都忘完了,今天看了一下发现基本的连接数据库的都忘了...太可怕了这遗忘的速度. 所以写了个连接的例子吧..安装好mysql数据库之后新建了两张 ...

  8. 几个主流的Java连接池整理

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  9. 通过JDBC连接HiveServer2

    如果通过JDBC连接HiveServer2时提示:User: hive is not allowed to impersonate hive,需要在core-site.xml中新增如下配置: hado ...

随机推荐

  1. Final阶段第1周/共1周 Scrum立会报告+燃尽图 05

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2484] 版本控制:https://git.coding.net/liuyy08 ...

  2. 继承and派生

    1.什么是继承?(python2与python3) 在程序中继承是一种新建子类的方式,新创建的类称之为子类\派生类,被继承 的类称之为父类\基类\超类 继承描述的是一种遗传关系,儿子可以重用爹的属性 ...

  3. python scrapy解码方法和时间格式转换

    import scrapy from datetime import datetime class BianSpider(scrapy.Spider): name = 'bian' # allowed ...

  4. scrapy中自动补全url

    url = "https:" + url 或者url = response.urljoin(url) #这里代表的是自动补全url

  5. linux 调试技巧

    1.添加log printf("\033[1;43m %s,%s,%d\033[0m\n",__FILE__,__FUNCTION__,__LINE__); FILE:文件名 FU ...

  6. 【计算机视觉】欧拉角Pitch/Yaw/Roll

    Pitch: 俯仰角: Yaw: 偏航角或者航向角: Roll: 横摆角或者翻滚角: 这几个角度是这样定义的,至于坐标系不同,则对应不同的XYZ轴及其方向: 1. https://en.wikiped ...

  7. java实现图片上传功能,并返回图片保存路径

    1.前端html <div class="form-group">     <label for="inputPassword3" class ...

  8. java一些必会算法

    经典算法的Java实现 (1)河内塔问题: 42 (2)费式数列 43 (3)巴斯卡(Pascal)三角形 44 (4)蒙地卡罗法求 PI 45 (5)最大公因数.最小公倍数 46 (6)阿姆斯壮数 ...

  9. github如何删除新建仓库(致新手)

    github作为开发人员的必备用具.那么,作为一个新手如何删除github中建立的仓库呢? 1.以删除My test为例

  10. PTA——各位数之和

    PTA 7-28 求整数的位数及各位数字之和 我的程序: #include<stdio.h> #include<math.h> int main(){ ,t; scanf(&q ...