zoukankan      html  css  js  c++  java
  • Eclipse 连接Hive

    Hive本质上不是数据库,数据内容保存在HDFS,元数据和数据映射保存在mysql。

    eclipse连接hive时,需要将hive启动为服务,hive自身提供了服务启动方式

    一、Hive服务启动方式

    hive --service hiveserver2

      hive服务绑定的10000端口号

      查看10000端口号的绑定状态

    sudo netstat -nplt | grep 10000

      如果10000端口号没有开启,那么连接hive时会出现连接拒绝的异常

    二、本地连接hive服务

      1) 执行beeline

    beeline

      2) 连接hive服务

    !connect jdbd:hive2://localhost:10000/default

      此时连接的default数据库,默认用户名和密码都为空

     三、eclipse连接hive

      注:连接hive的用户名和所查询表所用的用户名相一致,否则在sql语句中调用hive的函数会出现sql语句执行异常(是否真解,待进一步确认) 

      

    package com.whu.hivetest;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class HiveTest {
        
        private static final String URL = "jdbc:hive2://localhost:10000/default";
    
        public static void main(String[] args)  throws Exception{
            Class.forName("org.apache.hive.jdbc.HiveDriver");
            Connection conn = DriverManager.getConnection(URL, "whu", ""); //这里的用户名使用和数据表在hdfs上的文件拥有者一致,以便在sql语句中调用hive的函数不会出现sql语句异常
            System.out.println("链接成功");
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(" select count(*)  from t1 ");
            if(rs.next()){
                System.out.println(rs.getInt(1));
            }
    //        while(rs.next()){
    //            System.out.println(rs.getString(1)+"	"+rs.getString(2)+"	"+ rs.getString(3));
    //        }
        }
    }
  • 相关阅读:
    PL/SQL快捷键
    <c:if>条件判断 和 取值做乘法运算
    文档保存后找不到了误以为丢失,重做!
    Gson将参数放入实体类中进行包装之后再传递
    [leedcode 66] Plus One
    [leedcode 65] Valid Number
    [leedcode 64] Minimum Path Sum
    [leedcode 63] Unique Paths II
    [leedcode 62] Unique Paths
    [leedcode 61] Rotate List
  • 原文地址:https://www.cnblogs.com/qiaoqianxiong/p/5053625.html
Copyright © 2011-2022 走看看