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

  • 相关阅读:
    第19章 网络通信----网络程序设计基础
    第18章 多线程----线程同步
    第18章 多线程----线程的优先级
    一款基于jquery和css3的响应式二级导航菜单
    一款纯css3实现的颜色渐变按钮
    一款基于jquery的手风琴显示详情
    推荐10款纯css3实现的实用按钮
    一款纯css3实现的数字统计游戏
    一款基于jquery ui的动画提交表单
    一款纯css实现的漂亮导航
  • 原文地址:https://www.cnblogs.com/ljysy/p/9743339.html
Copyright © 2020-2023  润新知