命令行界面(Command Line Interface,CLI)是Hive交互最常见也是最方便的方式。在命令行界面可以执行Hive支持的觉大多数功能,如查询,创建等。
hive -e
有时,并不需要一直打开命令行界面,也就是说执行完查询后立刻退出,可以用hive -e的形式,如下:
[hadoop@master ~]$ hive -e 'select count(*) from test'
hive -S -e
可以看到Hive执行完查询,输出了日志和结果后退出了Hive的命令行界面并重新返回到了Linux shell的界面下。如果不需要看到日志和其他无关紧要的信息,可以在hive命令后加上-S如下:
hive -S -e 'select count(*) from test'
hive -f
有时,需要一次性执行多个查询语句,可以将这些查询语句保存到后缀为hql的文件中,利用 hive -f 来一次性执行,如下:
[hadoop@master ~]$ cat test.hql
select count(*) from test;
select * from test order by id;
test .hql 文件里保存了俩条查询语句,执行hive -f如下:
hive -f test.sql
Hive 会一次性一次执行以上俩个查询,并将结果一次输出。
dfs
在使用Hive时,有时需要查看HDFS,可以在Hive命令行下,执行dfs命令,如下:
hive > dfs -ls /;
这样,就没有必要退出Hive命令行,非常方便。
--
为了提高Hive脚本的可读性,用户可以用 “--”开题的字符串对其进行注释,如下:
hive > select count(*) from test --count the testtable;