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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
一、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.
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
SQL 分布式计算 关系型数据库
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
98 2
|
4月前
|
SQL 分布式计算 Hadoop
手把手的教你搭建hadoop、hive
手把手的教你搭建hadoop、hive
286 1
|
4月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
150 3
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
156 3
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
85 2
|
4月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
77 1
|
5月前
|
资源调度 分布式计算 Hadoop
使用YARN命令管理Hadoop作业
本文介绍了如何使用YARN命令来管理Hadoop作业,包括查看作业列表、检查作业状态、杀死作业、获取作业日志以及检查节点和队列状态等操作。
130 1
使用YARN命令管理Hadoop作业
|
4月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
171 0
|
6月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
6月前
|
SQL 存储 分布式计算
Linux退出Hive命令
【8月更文挑战第14天】
106 1