jdbc连接hive0.14
Jdbc连接hive0.14版本号
眼下官网最新版本号是hive0.13,要想下载最新的hive得去git上去clone一个。
Hive0.14最大特点是支持直接插入。
如今做一个jdbc连接hive0.14的样例。
须要的jar包:
不要去引入单独的一个集成hive的jar由于那个包括了tomcat里面的几个jar包。
当建立hiveproject时。会冲突导致hive的集成包载入不上。
1.hive连接的工具类:
package com.fish;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
/**
* 连接数据库的工具类,被定义成不可继承且是私有訪问
*/
public final class DBTool {
final private static String OPTION_FILE_NAME = "hivedatabase";
private static Connection conn;
static ResourceBundle res;
static {
res = ResourceBundle.getBundle(OPTION_FILE_NAME);
try {
String driver = res.getString("jdbc.driver");
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
/**
* 获取数据库的连接
*
* @return conn
*/
public static Connection getConnection() {
if (null == conn) {
try {
String url = res.getString("jdbc.url");
String user = res.getString("jdbc.username");
String password = res.getString("jdbc.password");
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
return conn;
}
/**
* 释放资源
*
* @param conn
* @param pstmt
* @param rs
*/
public static void closeJDBC(Connection conn, PreparedStatement pstmt,
ResultSet rs) {
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally {
if (null != pstmt) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally {
if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
}
}
}
}
}
2.hivedatabase.properties
#hive database setting
jdbc.type=hive
jdbc.driver=org.apache.hive.jdbc.HiveDriver
jdbc.url=jdbc:hive2://192.168.2.150:10000/default
jdbc.username=hadoop
jdbc.password=
3.test是类
public class Test {
public static void main(String[] args) throws Exception {
Connection connection = DBTool.getConnection();
System.out.println(connection);}
}
假设能连接通说明你已经成功连接上hive了。
最新文章
- Leetcode 347. Top K Frequent Elements
- leetcode-188 买卖股票4
- 学习笔记-Kuaihu(仿知乎日报)
- NAT学习笔记
- C# 设计基础(一)
- windows下apache配置ssl(https)服务器
- 【自学iOS攻略】了解有什么新技术的途径
- PyCharm汉化、破解教程
- Java 大数类BigInteger和BigDecimal的基本函数
- 如何给自己的app添加分享到有道云笔记这样的功能
- Day2:html和css
- day03-课堂笔记
- 网页块元素定位建议使用的xpath方式
- SpringMVC的启动
- common mistake of closure in loops
- Java并发-volatile的原理及用法
- python_基础硬件知识
- MT【198】连乘积放缩
- 蒙特卡洛模拟(Monte Carlo simulation)
- [翻译] JTCalendar
热门文章
- [Javascript] Prototype 1
- 劣质代码评析——《写给大家看的C语言书(第2版)》附录B之21点程序(八)
- Office EXCEL 不用VB,你也可以制作自己的Excel菜单!
- mac 下vim 配置文件
- Android自己定义控件:进度条的四种实现方式
- 【Docker】容器中找不到vi命令
- 【laravel5.4】PHP5.6+ 调用命名空间下类方法、属性和对象
- 配置eclipse插件
- iOS UIKit Dynamics入门 UIKit动力学,实现重力、连接、碰撞、悬挂等动画效果
- printDocument设置适应边框打印 特重要 找了半天 设置一个属性即可