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)+"\t"+rs.getString(2)+"\t"+ rs.getString(3));
//        }
    }
}

 

转载于:https://www.cnblogs.com/qiaoqianxiong/p/5053625.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值