Hive基础操作

命令行界面

变量和属性


define key=value--hivevar key=value是等价的,都是让用户在命令行自定义用户自定义变量以便在hive脚本中使用
在CLI命令中可以使用SET命令显示或者修改变量值

$hive
hive>set env:HOME;

hive>set;  #set命令会打印出命名空间hivevar,hiveconf,system和env中所有的变量

hive>set -v; #使用-v标记,则还会打印hadoop中所定义的所有属性

set给变量赋新值

$hive --define foo=bar
hive> set foo;
#out: foo=bar

hive> set hivevar:foo;
#out: hivevar: foo=bar;

hive> set hivevar:foo=bar2;
hive> set foo;
#out: foo=bar2

hive> set foo;
#foo=bar2

hive> set hivevar:foo;
#out: hivevar:foo=bar2

system空间命名:
Java系统属性对这个命名空间内容具有可读可写权力,而env命名空间,对于环境变量只提供可读权限

hive> set system:user.name;
#out: system: user.name=myusername

hive> set system:user.name=yourusername
hive> set system:user.name;
#out: system:user.ame=yourusername

hive> set env:HOME;
#out: env:HOME=/home/yourusername

hive> set env:HOME=yourusername
#out: env:* variables can not be set

Hive中一次使用命令


hive --help --service cli还显示CLI所提供的选项列表

-e: 用户在执行一个或者多个查询(使用分号分隔), 执行结束后hive CLI立即退出

$ hive -e "SELECT * FROM mytable LIMITE 3"

-S: 开启静默模式,可以在输出中去掉“OK”和“Time taken”

$ hive -e "SELECT * FROM mytable LIMITE 3" >/tmp/myquery

从文件中执行Hive查询


Hive中可以使用-f文件名方式执行指定文件中的一个或者多个查询语句,一般这些查询文件保存为.q.hql后缀名的文件

$hive -f /path/to/file/withqueries.hql

在Hive shell中用户可以使用SOURCE命令来执行一个脚本文件

$cat  /path/to/file/withqueries.hql
SELECT x.* FROM src x;
$hive
hive> source  /path/to/file/withqueries.hql

Hive脚本中进行注释

--开头的字符串表示注释

你可能感兴趣的:(Hive基础操作)