[Hadoop]Hive r0.9.0中文文档(三)之Hive相关命令

一、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.

时间: 2024-10-13 16:18:08

[Hadoop]Hive r0.9.0中文文档(三)之Hive相关命令的相关文章

[Hadoop]Hive r0.9.0中文文档(一)之数据操作语句

一.创建表的语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORTED BY

[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_fac

[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

满江红开放技术研究组织发布Seam 2.0中文文档正式版

满江红开放技术研究组织发布Seam 2.0中文文档正式版 三个月前,满江红开放技术研究组织发布了RC版,详见: http://yulimin.javaeye.com/blog/151917 现在满江红开放技术研究组织正式发布Seam 2.0中文文档正式版,希望对大家有所帮助,谢谢. 同时,再次感谢王琳.马越.晓钢在发布RC版后,对全部译文进行通读,发现并纠正其中的问题. 虽然我们正式宣布正式版发布,但是也希望广大朋友能够在阅读的过程若发现有疑问的地方,及时提出来进行讨论并加以修正,共同提高文档的

[Hadoop]Sqoop 1.4.2中文文档(一)之数据导入

一.Sqoop Help $ sqoop help usage: sqoop COMMAND [ARGS] Available commands: codegen Generate code to interact with database records create-hive-table Import a table definition into Hive eval Evaluate a SQL statement and display the results export Expor

[Hadoop]Sqoop 1.4.2中文文档(三)之SqoopJob与其外的操作

一.sqoop job相关命令参数 usage: sqoop job [GENERIC-ARGS] [JOB-ARGS] [-- [<tool-name>] [TOOL-ARGS]] Job management arguments: --create <job-id> Create a new saved job --delete <job-id> Delete a saved job --exec <job-id> Run a saved job --h

Unity 1.0中文文档:Unity简介

Unity 应用程序块(Unity)是一个轻量级.可扩展的依赖注入容器,支持构造函数.属性和方法调用注入.它有下列优点: 简化了对象的创建,尤其是分层的对象结构和依赖,并简化了应用程序代码. 支持需求的抽象,这允许开发人员在运行时或者配置中指定依赖,并简化了横切关注点的管理. 通过延迟将配置组装到容器来提高灵活性. 服务定位功能允许客户代码保存或者缓存容器.这在开发人员可以持久化容器到 ASP.NET Session 或者 Application 中的 ASP.NET Web 应用程序中特别有用

满江红开放技术研究组织发布Seam 2.0中文文档RC版

"你得知道,我想的比做的更多.如果你要做一个开源项目,必须设想好它的道路,它才会成功."Gavin King这么说过.那时候他已经在新天地luna酒吧灌下大杯的法国葡萄酒,还要装作若无其事.不得不承认这个家伙相当聪明且自负.他做出的决定是深思熟虑的. B/S程序和C/S不同,Request/Response模型让程序冗长的像裹脚布.你同时要处理多种数据失配:服务器端的RDBMS和浏览 器展示出来的HTML之间,需要Servlet的渲染,数据经历了RDBMS Row ,ResultSet

[Hadoop]Sqoop 1.4.2中文文档(二)之数据导出

一.sqoop-export 相关参数: usage: sqoop export [GENERIC-ARGS] [TOOL-ARGS] Common arguments: --connect <jdbc-uri> Specify JDBC connect string --connection-manager <class-name> Specify connection manager class name --connection-param-file <properti