Hive 8Hive2 beeline 和 Hive jdbc

Posted 花未全开*月未圆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive 8Hive2 beeline 和 Hive jdbc相关的知识,希望对你有一定的参考价值。

1、Hive2 beeline 

Beeline 要与HiveServer2配合使用,支持嵌入模式和远程模式

启动beeline

打开两个Shell窗口,一个启动Hive2 一个beeline连接hive2

#启动HiverServer2 , ./bin/hiveserver2 
[root@node5 ~]# hiveserver2
16/02/23 22:55:25 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist

  

#启动Beeline 
# $ ./bin/beeline 下面的方式需要配置Hive的环境变量
[root@node5 ~]# beeline
Beeline version 1.2.1 by Apache Hive
beeline> 

  启动beeline之后可以尝试连接hiveserver2

beeline> !connect jdbc:hive2://node5:10000
Connecting to jdbc:hive2://node5:10000
Enter username for jdbc:hive2://node5:10000: 
#默认 用户名就是登录账号 密码为空

  2、Hive jdbc

打开Eclipse 新建一个Java 项目:

public class Demo {

    public static void main(String[] args) {
        try {
            Class.forName("org.apache.hive.jdbc.HiveDriver");
            Connection conn = DriverManager.getConnection("jdbc:hive2://node5:10000/hive","root","123456");
            String sql = "select * from news";
            Statement sment = conn.createStatement();
            ResultSet rs = sment.executeQuery(sql);
            while(rs.next()){
                HiveQueryResultSet hqrs = (HiveQueryResultSet)rs;
                System.out.println(hqrs.getString(1)+"\\t"+hqrs.getString(2));
            }
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

  在Hive数据库中有这样一个表 news

hive> use hive
    > ;
OK
Time taken: 4.244 seconds
hive> select * from news;
OK
   I\'m tom
   what are you doing
   i\'m ok
Time taken: 1.247 seconds, Fetched: 3 row(s)

  执行完Java代码以后,可以看到数据正常查询出来了

 

以上是关于Hive 8Hive2 beeline 和 Hive jdbc的主要内容,如果未能解决你的问题,请参考以下文章

hive beeline详解

HIV组件

beeline使用小节

hive的几种连接方式

Hive 系列—— Hive CLI 和 Beeline 命令行的基本使用

减少 Beeline Hive CSV 的详细程度