java程序连接hive数据库遇到的问题
Posted ★若风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序连接hive数据库遇到的问题相关的知识,希望对你有一定的参考价值。
今天,打算学习一下用hadoop做后台,搭建一个网站,首先第一步便是在本机的eclipse中连接到虚拟机上的hive中,原本以为很简单,但是过程很是艰难。特意做总结
首先hive的版本问题就是一个很大的问题,刚开始没注意到这个问题,走了很大的弯路,hive1.0是一个分水岭,在1.之前的连接hive的代码应该这样写
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection connection = DriverManager.getConnection("jdbc:hive://192.168.252.200:10000/default", "", "");
在1.0之后就应该是hive2l了,代码如下:
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection connection = DriverManager.getConnection("jdbc:hive2://192.168.252.200:10000/default", "", "");
具体的代码如下:
package cn.itcast.bigdata; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Test { public static void main(String[] args) throws Exception { Class.forName("org.apache.hive.jdbc.HiveDriver"); Connection connection = DriverManager.getConnection("jdbc:hive2://192.168.252.200:10000/default", "", ""); Statement stmt = connection.createStatement(); String querySQL="select * from default.tb1"; ResultSet resut = stmt.executeQuery(querySQL); while (resut.next()) { System.out.println(resut.getInt(1)); } } }
在运行代码之前,应该在虚拟机开启hiveserver2服务,这样才可以建立连接,否则会出现连接被中断的情况
具体命令是进入虚拟机的hive的安装目录下,键入命令 ./bin/hiveserver2,这样就可以与本地建立连接了
以上是关于java程序连接hive数据库遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章