• 【Hive】Hive CLI初探


    $HIVE_HOME/bin/hive是一个Shell工具,可以用来以交互式或批量模式运行HIve查询,本篇对其进行学习。

    一 Hive环境
    hive> select version();
    OK
    2.3.3 r8a511e3f79b43d4be41cd231cf5c99e43b248383
    Time taken: 11.166 seconds, Fetched: 1 row(s)
    二 HIve CLI介绍

    1 CLI选项

    1)查看帮助信息
    [hadoop@strong ~]$ hive -H
    usage: hive
     -d,--define <key=value>          Variable substitution to apply to Hive
                                      commands. e.g. -d A=B or --define A=B
        --database <databasename>     Specify the database to use
     -e <quoted-query-string>         SQL from command line
     -f <filename>                    SQL from files
     -H,--help                        Print help information
        --hiveconf <property=value>   Use value for given property
        --hivevar <key=value>         Variable substitution to apply to Hive
                                      commands. e.g. --hivevar A=B
     -i <filename>                    Initialization SQL file
     -S,--silent                      Silent mode in interactive shell
     -v,--verbose                     Verbose mode (echo executed SQL to the console)
    2)-d选项

    该选项定义一个变量,以键值对形式进行定义,可直接在Hive命令行引用。
    [hadoop@strong ~]$ hive -d tab=emp;
    hive> select *from ${tab} limit 3;
    OK
    1	Alen
    2	Jane
    3	Tom
    Time taken: 5.031 seconds, Fetched: 3 row(s)
    注:以${}方式对变量进行引用。

    3)--database选项

    该选项表明要连接的数据库名称。
    [hadoop@strong ~]$ hive --database hive
    hive> select current_database() as db;
    OK
    hive
    Time taken: 1.494 seconds, Fetched: 1 row(s)
    4)-e选项

    该选项表示在命令行执行一个SQL语句。
    [hadoop@strong ~]$ hive -e "select *from hive.emp limit 3"
    OK
    1	Alen
    2	Jane
    3	Tom
    Time taken: 14.263 seconds, Fetched: 3 row(s)
    5)-f选项

    该选项表示要执行一个文件。
    [hadoop@strong ~]$ cat test.hql 
    use hive;
    select *from emp limit 3;
    [hadoop@strong ~]$ hive -f test.hql 
    OK
    Time taken: 11.383 seconds
    OK
    1	Alen
    2	Jane
    3	Tom
    Time taken: 4.126 seconds, Fetched: 3 row(s)
    6)-S选项

    该选项表示以静默方式执行。
    [hadoop@strong ~]$ hive -S -e 'select *from hive.emp limit 3'
    1	Alen
    2	Jane
    3	Tom
    7)-V选项

    该选项用于打印输出信息。

    8)-H选项

    该选项用于显示帮助信息。

    9)--hiveconf选项

    该选项用于定义属性信息。
    [hadoop@strong ~]$ hive --hiveconf mapreduce.job.reduces=10
    hive> set mapreduce.job.reduces;
    mapreduce.job.reduces=10
    10)--hivevar选项

    和变量-d作用相同。

    2 Hive批量模式命令

    当$HIVE_HOME/bin/hive运行时带有-e或-f参数时,它以批量形式执行SQL命令,示例如上面的-e和-f选项讲解。

    3 HIve交互式Shell命令

    当$HIVE_HOME/bin/hive运行时不带有-e或-f参数时,它进入交互式模式。每个命令务必以;结束,否则命令不会执行。

    1)quit/exit

    这两个命令用于在交互式模式退出Hive Shell。
    hive> exit;
    [hadoop@strong ~]$ 
    2)set

    该命令用于以键值对方式设置配置变量,或打印变量。
    hive> set mapreduce.job.reduces=10;
    hive> set mapreduce.job.reduces;
    mapreduce.job.reduces=10
    3)reset

    该命令用于重置配置变量为默认值。
    hive> reset;
    hive> set mapreduce.job.reduces;
    mapreduce.job.reduces=-1
    4)!

    该命令用于在Hive Shell中使用Shell命令。
    hive> ! pwd;
    /home/hadoop
    5)source

    该命令用于在CLI执行脚本文件。
    hive> source test.hql;
    OK
    Time taken: 0.619 seconds
    OK
    1	Alen
    2	Jane
    3	Tom
    Time taken: 3.994 seconds, Fetched: 3 row(s)
    6)dfs

    该命令用于在Hive Shell执行dfs命令。
    hive> dfs -ls /user/hive;
    Found 2 items
    drwxrwxrwx   - hadoop supergroup          0 2018-06-19 16:37 /user/hive/tmp
    drwxrwxrwx   - hadoop supergroup          0 2018-06-20 17:30 /user/hive/warehouse
    3 Hive资源相关命令

    用法:
    ADD { FILE[S] | JAR[S] | ARCHIVE[S] } <filepath1> [<filepath2>]* LIST { FILE[S] | JAR[S] | ARCHIVE[S] } [<filepath1> <filepath2> ..] DELETE { FILE[S] | JAR[S] | ARCHIVE[S] } [<filepath1> <filepath2> ..]





  • 相关阅读:
    封装好的AFN网络请求框架和MBProgress
    iOS定时器的使用
    iOS去除导航栏和tabbar的1px横线
    移动端加解密
    改变字符串中部分字符传的字体大小和颜色
    关于NSLog
    ipad开发:二维码扫描,摄像头旋转角度问题解决办法
    iOS-图文表并茂,手把手教你GCD
    计算富文本的高度
    jsp打印
  • 原文地址:https://www.cnblogs.com/alen-liu-sz/p/12975628.html
Copyright © 2020-2023  润新知