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数据库遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

java代码实现 kerberos认证hive连接

Hive JDBC 连接设置或与 MySQL 的映射

impala连接hive遇到的问题

Hive基于Java的API代码编程

好程序员大数据学习路线分享hive的运行方式

通过 Java JDBC 连接 Hive