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,这样就可以与本地建立连接了

原文地址:https://www.cnblogs.com/ljysy/p/9743339.html