启动了  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. Linux文件系统命令 rm

    命令名:rm 功能:删除某一个文件或者目录 eg: renjg@renjg-HP-Compaq-Pro--MT:~/WorkSpace$ ls BM3 gf k8s minicom_download ...

  2. 五、LCD屏填充纯色

    废话不说,直接上代码: lcd.c #include "lcd.h" static int PEN_COLOR = LCD_RED; /* 定义画笔(前景)颜色 */ static ...

  3. Arduino-汉王PM2.5检测模组B1

    汉王PM2.5检测模组B1,接入Arduino,使用I2C1602显示屏显示 #include <Arduino.h> #include <Wire.h> #include & ...

  4. kbmMWUnidac直接SQLServer

    UniDAC支持SQLServer直联了,当时就测试过在kbmMW中用直联方式,结果不尽人意,kbmMWServer在执行sql时会出地址错误,就一直没有进一步测试.今天听xalion说,是因为当直联 ...

  5. 并行【parallel】和并发【concurrency】线程是并发还是并行,进程是并发还是并行

    线程是并发,进程是并行:进程之间相互独立,是系统分配资源的最小单位,同一个线程中的所有线程共享资源. 并行,同一时刻多个任务同时在运行. 并发,在同一时间内隔内多个任务都在运行,但是都不会在同一时刻同 ...

  6. python --flask框架的搭建--(flask,python2,python3都可以运行)

    在linux搭建flask开发环境: (1)virtualenv -p python3 flasky                ---创建虚拟环境 (2)source flasky/bin/act ...

  7. spring boot项目,application.properties配置文件下中文乱码解决方案

    转自:https://blog.csdn.net/qq_40408534/article/details/79831807 如以上,application.properties文件下中文乱码.发生乱码 ...

  8. 获取图像的ROI模板区域

    前言 项目需要得到视频帧图像的某一区域作为模板,首先需要确定ROI区域的坐标范围,很简单,直接上代码. % /********************************************* ...

  9. Python之路,第十七篇:Python入门与基础17

    python3  面向对象编程 面向对象编程 什么是对象? 一切皆对象: 面向对象是思想: 描述思想的语言有:C++/Java/Python/Swift/C# 两个概念: 类  class 对象 ob ...

  10. ATM-java

    通过学习JAVA,我的进步不是很多,了解了不多的编程知识,但是我一直在进步,我发现我有很大的进步空间,每天都有一点点的进步使我每天都很充实.还记得我编写的第一个 经典程序“hello Word”.从那 ...