大数据(023)Hive【Hive三种启动方式 、 HIVE Server2详解 、 jdbc链接HIVE】

一:Hive的三种启动方式

1, hive  命令行模式

        进入hive安装目录,输入bin/hive的执行程序,或者输入 hive –service cli

        用于linux平台命令行查询,查询语句基本跟mysql查询语句类似

 2, hive  web界面的启动方式

        bin/hive –service hwi  (& 表示后台运行)

        用于通过浏览器来访问hive,感觉没多大用途,浏览器访问地址是:127.0.0.1:9999/hwi

 3, hive  远程服务 (端口号10000) 启动方式

        bin/hive –service hiveserver2  &(&表示后台运行)

        用java,python等程序实现通过jdbc等驱动的访问hive就用这种起动方式了,这个是程序员最需要的方式了

 

二:HiveServer2

1, 启动命令

 

       hive --service hiveserver   /   hiveserver2

 

2, 启动结果验证

 

       telnet localhost 10000

 

3, 命令行链接hiveserver2

 

        [root@node5 ~]# beeline
       Beeline version 1.2.1 by Apache Hive
       beeline> !connect jdbc:hive2://localhost:10000 root
       Connecting to jdbc:hive2://localhost:10000
       Enter password for jdbc:hive2://localhost:10000:
       Connected to: Apache Hive (version 1.2.1)
       Driver: Hive JDBC (version 1.2.1)
       Transaction isolation: TRANSACTION_REPEATABLE_READ
       0: jdbc:hive2://localhost:10000>
        0: jdbc:hive2://localhost:10000> show tables;
        +-------------------+--+
        |     tab_name      |
        +-------------------+--+
        | page_view         |
        | partitioned_test  |
        | people            |
        | people_new        |
        +-------------------+--+
        4 rows selected (0.066 seconds)

4,JDBC链接HIVE

       1、在Intellij下新建项目。

               

           2、在项目中引入需要的hive和hadoop相关jar包

                    jar包分别位于hadoop-2.5.1\share\hadoop\commonapache-hive-1.2.1-bin\apache-hive-1.2.1-bin\lib

           3、新建测试类

 

/**
 * Created by ZhangJintao on 2017/10/29.
 */

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class testHIVESERVER2 {
    //驱动 url
    private static String driverName = "org.apache.hive.jdbc.HiveDriver";

    /**
     * @param args
     */
    public static void main(String[] args)  {
        try {
            //加载驱动
            Class.forName(driverName);
            //链接hive数据仓库
            Connection con = DriverManager.getConnection("jdbc:hive2://192.168.1.205:10000/default", "root", "");
            //创建会话
            Statement stmt = con.createStatement();
            //执行dql,得到结果集
            ResultSet res = stmt.executeQuery("select count(*) from people " );
            // 遍历结果集,打印数据
            if(res.next()){
                System.out.println(res.getInt(1));
            }
        } catch (Exception e) {
            // 打印异常
            e.printStackTrace();
            System.exit(1);
        }

    }
}

 

 

 

           4、运行项目

                    控制台显示如下,这表示项目已经启动,hadoop正在执行mapreduce。

                   

                    此时我们前往http://192.168.1.201:8088下查看Scheduler和Applications,可以看到这个查询的mapreduce正在执行,如下图所示

                     

 

                      

                    待其执行完毕,我们就可以看到程序有如下输出

                     

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值