大数据技术 Hadoop学习(18):Hive的CLI和JDBC
沉沙 2018-10-08 来源 : 阅读 1221 评论 0

摘要:本篇教程探讨了大数据技术 Hadoop学习(18):Hive的CLI和JDBC,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

本篇教程探讨了大数据技术 Hadoop学习(18):Hive的CLI和JDBC,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

<



         上一篇,我们对hive的数据导出,以及集群Hive数据的迁移进行描述。了解到了基本的hive导出操作。这里,我们将对hive的CLI及JDBC这些实用性很强的两个方便进行简要的介绍。

       下面我们开始介绍hive的CLI和JDBC。

Hive CLI(old CLI)

    一:说明

      在0.11之前只有Hive CLI,他需要安装Hive Client才能使用。是一个重量级的命令行工具。连接的服务器是HiveServer1。
    二:语法:
    复制代码

    usage: hive
     -d,--define           Variable subsitution to apply to hive
                                      commands. e.g. -d A=B or --define A=B
     -e          SQL from command line
     -f                     SQL from files
     -H,--help                        Print help information
     -h                     Connecting to Hive Server on remote host
        --hiveconf    Use value for given property
        --hivevar          Variable subsitution to apply to hive
                                      commands. e.g. --hivevar A=B
     -i                     Initialization SQL file
     -p                         Connecting to Hive Server on port number
     -S,--silent                      Silent mode in interactive shell
     -v,--verbose                     Verbose mode (echo executed SQL to the
                                      console)

    复制代码
    三:官网例子1 

    $HIVE_HOME/bin/hive -e 'select a.col from tab1 a'

    四:官网例子2

      运行脚本文件

    $HIVE_HOME/bin/hive -f /home/my/hive-script.sql

Beeline CLI(new CLI)

    一:介绍

      为了使得CLI轻量化,后来Hive做出了Beeline和HiveServer2。Beeline是一个基于JDBC的SQLLine CLI。
    二:官网例子

    bin/beeline
    !connect jdbc:hive2://localhost:10000 scott tiger org.apache.hive.jdbc.HiveDriver

    三:实战

      hiveserver2的默认端口是10000。

    beeline -u jdbc:hive2://h188:10000

       查看有哪些表。

    show tables;

     

      这里可以看到我们在上面几篇测试的时候的表score,score1,score2,我们查下score的数据。

    select * from score;

JDBC

    一:介绍

      我们可以在代码中通过jdbc连接hive。这样在实际运用场景中就很方便,很原有的非分布式计算的开发方式基本类似,具有很强的适用性。
    二:新建工程

      新建工程com.per.hive
    三:引入包

      版本根据自己使用hadoop集群而定
    复制代码

    commons-logging-1.2.jar
    hadoop-common-2.6.0.jar
    hive-exec-0.13.1.jar
    hive-jdbc-0.13.1.jar
    hive-service-0.13.1.jar
    httpclient-4.3.4.jar
    httpcore-4.3.2.jar
    log4j-1.2.16.jar
    slf4j-api-1.7.6.jar
    slf4j-log4j12-1.7.6.jar

    复制代码

    四:添加类HiveDemo

      添加HiveDriver
    复制代码

        static {
            try {
                Class.forName("org.apache.hive.jdbc.HiveDriver");
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            }
        }

    复制代码

      添加test()方法
    复制代码

       /**
         * @Description : 测试
         */
        private static void test() {
            try (Connection con = DriverManager
                    .getConnection("jdbc:hive2://h188:10000/")) {
                Statement stm = con.createStatement();
                ResultSet rs = stm.executeQuery("select * from score ");
                
                while (rs.next()) {
                    String info = rs.getString(1);
                    info += " " + rs.getString(2);
                    info += " " + rs.getString(3);
                    info += " " + rs.getString(4);

                    System.out.println(info);
                }

            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    复制代码

      调用

        public static void main(String[] args) {
            test();
        }

    五:运行

      运行,查看结果,可以看见,程序运行的结果与我们在Beeline命令行查看的结果一致。

      

     这样我们的Hive的CLI和JDBC告一段落。

     

    --------------------------------------------------------------------

      到此,本章节的内容讲述完毕。
   

本文由职坐标整理发布,学习更多的大数据技术相关知识,请关注职坐标大技术云计算大技术技术频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程