Hive CLI

简介

本位介绍一些在Hive CLI启动时的一些常用的命令

–define –hivevar(变量和属性)

我们可以在启动hive时使用–define或者–hivevar来定义变量,在后续的Hive脚本中去引用.

hive --define XXX=XXX
hive --hivevar XXX=XXX

Notice:
- 注意变量名及值不用加引号
- 默认定义的变量的命名空间为hivevar

当用户使用这个变量定义的功能时,Hive会将这些键-值对放到hivevar命名空间,这样可以和其他三种内置命名空间(也就是hiveconf、system和env)进行区分
Hive CLI_第1张图片

set

  • set可以查看及定义一些属性和变量

例如我们常用的显示当前数据库名这个参数:

set hive.cli.print.current.db

执行上述指令,显示出该参数为true.同时我们也可以使用set来设置这个参数为false.

set hive.cli.print.current.db = false
  • 单独执行set,可以打印出命名空间hivevar、hiveconf、syetem和env中所有的变量.使用set -v,还会打印出hadoop中所定义的所有属性.例如控制hdfs和MapReduce的属性
  • set查看变量和属性时,还可以使用这种语法
set env:name

代表查看env命名空间下的name变量

-database

这个指令可以指定hive打开默认的cli时,使用的数据库名.

-e(一次使用命令)

在hive shell中执行-e操作,hive会执行-e后面的查询,查询完毕后马上退出cli.

hive -e "select * from factorder limit 5" -database test 

上述查询代表从test库的factorder表取出5条记录.

hive -e "select * from test.factorder limit 5" 

这条语句也可以实现指定数据库的功能

-S

在开启hive cli时,加上-S,会开启静默模式,不会显示hive操作的一些额外信息

>(重定向)

hive -e "select count(1) from factorder" > /temp/XXX

这样可以将-e后的查询结果重定向到/temp/XXX文件中去,这个路径为本地文件路径,而不是hdfs.

模糊查找

hive -e "set" | grep warehouse 

使用set结合grep可以查看hive的属性或者变量中包含warehouse的那些,并且将这些显示出来.

-f

我们可以通过-f来执行一连串的sql指令,按照约定我们一般将这些指令放置在以.q或者.hql后缀结尾的文件中.
在hive cli中,可以使用source +sql文件来执行hql查询.

hive -f /temp/my.hql
进入cli:source /temp/my.hql

上述的操作得到的结果是一致的.

你可能感兴趣的:(hive)