[Hadoop]Hive r0.9.0中文文档(三)之Hive相关命令
Usage:
Usage: hive [-hiveconf x=y]* [<-i filename>]* [<-f filename>|<-e query-string>] [-S]
-i <filename> Initialization Sql from file (executed automatically and silently before any other commands)
-e 'quoted query string' Sql from command line
-f <filename> Sql from file
-S Silent mode in interactive shell where only data is emitted
-hiveconf x=y Use this to set hive/hadoop configuration variables.
-e and -f cannot be specified together. In the absence of these options, interactive shell is started. However, -i can be used with any other options.
To see this usage help, run hive -h
下面的例子是做一个命令行的查询:
$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'
下面的例子是指定Hive配置查询:
$HIVE_HOME/bin/hive -e 'select a.col from tab1 a' -hiveconf hive.exec.scratchdir=/home/my/hive_scratch -hiveconf mapred.reduce.tasks=32
下面的例子是将查询结果导入到文本文件:
$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a' > a.txt
下面的例子是使用SQL文件进行操作:
$HIVE_HOME/bin/hive -f /home/my/hive-script.sql
下面的例子是在进入交互式界面之前跑一个初始化的脚本:
$HIVE_HOME/bin/hive -i /home/my/hive-init.sql
二、hiverc file
如果没有-i参数,那么hive会直接进入命令行界面,同时会加载HIVE_HOME/bin/.hiverc and $HOME/.hiverc作为初始化所需要的文件
三、hive交互的Shell命令
Command Description
quit Use quit or exit to leave the interactive shell.
set key=value Use this to set value of particular configuration variable. One thing to note here is that if you misspell the variable name, cli will not show an error.
set This will print a list of configuration variables that are overridden by user or hive.
set -v This will print all hadoop and hive configuration variables.
add FILE [file] [file]* Adds a file to the list of resources
list FILE list all the files added to the distributed cache
list FILE [file]* Check if given resources are already added to distributed cache
! [cmd] Executes a shell command from the hive shell
dfs [dfs cmd] Executes a dfs command from the hive shell
[query] Executes a hive query and prints results to standard out
source FILE Used to execute a script file inside the CLI.
例子:
hive> set mapred.reduce.tasks=32;
hive> set;
hive> select a.* from tab1;
hive> !ls;
hive> dfs -ls;
四、Hive日志
Hive使用Log4j写日志,这些日志将不会以标准输出方式进行输出,默认情况Hive将使用hive-log4j,配置文件在conf目录下,日志输出在 /tmp/$USER/hive.log 下,日志级别为WARN。
为了Debug,你可以修改日志的输出格式以及改变日志的输出级别,你可以在命令行下使用以下命令:
$HIVE_HOME/bin/hive -hiveconf hive.root.logger=INFO,console
hive.root.logger 指定了日志的级别以及日志输出位置,输出在控制台。这样日志不会输出到文件中。
五、Hive 资源
hive可以管理查询有效的附加资源到Session中。任何本地的acessible文件会加入到这个session,hive加载这个文件到session中后可以进行相关的map/reduce任务,hive使用haddop cache来处理被加载的文件。
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> ..]
文件资源仅被添加到目标cache中。Jar资源将被添加到Java classpath中。ARCHIVE资源将被自动添加来描述他们。
例如:
hive> add FILE /tmp/tt.py;
hive> list FILES;
/tmp/tt.py
hive> from networks a MAP a.networkid USING 'python tt.py' as nn where a.ds = '2009-01-04' limit 10;
如果命令在所有节点上均有效就没有必要加入到Session中. For example:
... MAP a.networkid USING 'wc -l' ...: here wc is an executable available on all machines
... MAP a.networkid USING '/home/nfsserv1/hadoopscripts/tt.py' ...: here tt.py may be accessible via a nfs mount point that's configured identically on all the
cluster nodes.

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
[Hadoop]Hive r0.9.0中文文档(四)之Hive变量的使用
一、介绍 例子: $ a=b $ hive -e " describe $a " 如果你hive数据库中没有b这个表,则会提示Table b does not exist hive的变量设置可以放在hiveconf中,使变量赋值与查询合并为一句话: 例子: $ bin/hive -hiveconf a=b -e 'set a; set hiveconf:a; \ create table if not exists b (col int); describe ${hiveconf:a}' Results in: Hive history file=/tmp/edward/hive_job_log_edward_201011240906_1463048967.txt a=b hiveconf:a=b OK Time taken: 5.913 seconds OK col int Time taken: 0.754 seconds 二、hive变量使用 hive的变量有3个作用空间hiveconf,system,env。hiveconf就像平时一样设置: set x=myvalue X...
-
下一篇
[Hadoop]Hive r0.9.0中文文档(二)之联表查询Join
一、Join语法 join_table: table_reference [INNER] JOIN table_factor [join_condition] | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition | table_reference LEFT SEMI JOIN table_reference join_condition table_reference: table_factor | join_table table_factor: tbl_name [alias] | table_subquery alias | ( table_references ) join_condition: ON equality_expression ( AND equality_expression )* equality_expression: expression = expression Hive 只支持等值连接(equality joins)、外连接(outer join...
相关文章
文章评论
共有0条评论来说两句吧...