Hive

Hive 命令行

命令行参数 说明
-d,–define <key=value> 定义一个变量值,这个变量可以在Hive交互Shell中引用,后面会介绍用法,比如:-d A=B
–database <databasename> 进入Hive交互Shell时候指定数据库,默认进入default数据库
-e <quoted-query-string> 命令行执行一段SQL语句
-f <filename> filename文件中保存HQL语句,执行其中的语句
-H,–help 显示帮助信息
-h <hostname> 连接远程Hive Server,后续介绍
–hiveconf <property=value> 在命令行中设置Hive的运行时配置参数,优先级高于hive-site.xml,但低于Hive交互Shell中使用Set命令设置。
–hivevar <key=value> 同—define
-i <filename> 进入Hive交互Shell时候先执行filename中的HQL语句
-p <port> 连接远程Hive Server的端口号
-S,–silent 静默模式,指定后不显示执行进度信息,最后只显示结果
-v,–verbose 冗余模式,额外打印出执行的HQL语句

输入$HIVE_HOME/bin/hive –H 或者 –help可以显示帮助选项:

命令行参数 说明
-d,–define <key=value> 定义一个变量值,这个变量可以在Hive交互Shell中引用,后面会介绍用法,比如:-d A=B
–database <databasename> 进入Hive交互Shell时候指定数据库,默认进入default数据库
-e <quoted-query-string> 命令行执行一段SQL语句
-f <filename> filename文件中保存HQL语句,执行其中的语句
-H,–help 显示帮助信息
-h <hostname> 连接远程Hive Server,后续介绍
–hiveconf <property=value> 在命令行中设置Hive的运行时配置参数,优先级高于hive-site.xml,但低于Hive交互Shell中使用Set命令设置。
–hivevar <key=value> 同—define
-i <filename> 进入Hive交互Shell时候先执行filename中的HQL语句
-p <port> 连接远程Hive Server的端口号
-S,–silent 静默模式,指定后不显示执行进度信息,最后只显示结果
-v,–verbose 冗余模式,额外打印出执行的HQL语句

-d,–define <key=value>
定义一个变量值,这个变量可以在Hive交互Shell中引用,后面会介绍用法,比如:-d A=B

–database <databasename>
进入Hive交互Shell时候指定数据库,默认进入default数据库

-e <quoted-query-string>
命令行执行一段SQL语句

-f <filename>
filename文件中保存HQL语句,执行其中的语句

-H,–help
显示帮助信息

-h <hostname>
连接远程Hive Server,后续介绍

–hiveconf <property=value>
在命令行中设置Hive的运行时配置参数,优先级高于hive-site.xml,但低于Hive交互Shell中使用Set命令设置。

–hivevar <key=value>
同—define

-i <filename>
进入Hive交互Shell时候先执行filename中的HQL语句

-p <port>
连接远程Hive Server的端口号

-S,–silent
静默模式,指定后不显示执行进度信息,最后只显示结果

-v,–verbose
冗余模式,额外打印出执行的HQL语句

这里特别介绍一下以下几个选项:
-d,–define <key=value>

执行$HIVE_HOME/bin/hive -d k1=v1 –database lxw1234
表示,定义了一个变量k1,值为v1,执行了数据库为lxw1234
进入Hive交互Shell之后,可以使用${k1}来引用该变量,比如:
hive> select ‘${k1}’ from t_lxw1234 limit 1;
OK
v1
这里将k1的值v1打印出来。
–hiveconf <property=value>

可以使用该选项设定Hive的运行参数配置,相当于在Hive交互Shell中使用set命令进行设置,比如:
执行$HIVE_HOME/bin/hive –hiveconf mapred.reduce.tasks=20
进入交互Shell之后,运行的所有查询都会设置20个reduce task。
除非又用set mapred.reduce.tasks=N;进行另外设定。
–hivevar <key=value>

用法同-d和—define

7.2 Hive交互Shell
Hive交互Shell指执行$HIVE_HOME/bin/hive之后,进入的有hive>提示符的交互式命令行,在这里可以执行查询语句,设置参数等等,所有的命令必须以分号结束,具体有以下命令和选项:
quit

退出交互Shell
exit

退出交互Shell
reset

重置所有的Hive运行时配置参数,比如,之前使用set命令设置了reduce数量,使用reset之后,重置成hive-site.xml中的配置。
set <key>=<value>

设置Hive运行时配置参数,优先级最高,相同key,后面的设置会覆盖前面的设置。
set –v

打印出所有Hive的配置参数和Hadoop的配置参数。
add命令

包括 add FILE[S] <filepath> <filepath>* 、 add JAR[S] <filepath> <filepath>* 、add ARCHIVE[S] <filepath> <filepath>*
向DistributeCache中添加一个或过个文件、jar包、或者归档,添加之后,可以在Map和Reduce task中使用。
比如,自定义一个udf函数,打成jar包,在创建函数之前,必须使用add jar命令,将该jar包添加,否则会报错找不到类。

list 命令

包括 list FILE[S] 、list JAR[S] 、list ARCHIVE[S]
列出当前DistributeCache中的文件、jar包或者归档。
delete 命令

包括 delete FILE[S] <filepath>* 、delete JAR[S] <filepath>* 、 delete ARCHIVE[S] <filepath>*
从DistributeCache中删除文件
! <command>

在交互Shell中执行Linux操作系统命令并打印出结果,不常用
比如:
hive> !pwd;
/home/lxw1234
dfs <dfs command>

在交互Shell中执行hadoop fs 命令,不常用
比如,统计hdfs文件系统中/tmp/目录的总大小:
hive> dfs -du -s /tmp/;
54656194751 /tmp
<query string>

最常用的,执行HQL语句,以分号结尾;
source FILE <filepath>

在交互Shell中执行一个脚本,不常用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 2.6. Hive 的交互方式 第一种交互方式 bin/hive 创建一个数据库 第二种交互方式:使用sql语句或...
    你值得拥有更好的12138阅读 13,770评论 0 4
  • Hive是什么 我们知道传统数据存储都是存储在关系型数据库中,它们使用一种SQL(结构化查询语言)方言来查询数据库...
    零度沸腾_yjz阅读 4,788评论 0 7
  • 1. Hive基本介绍和基础: Facebook公司最早完成并开源了hive框架,可以将sql语句直接翻译成Map...
    奉先阅读 8,647评论 0 43
  • 2.1 Hive安装地址 1)Hive官网地址: http://hive.apache.org/ 2)文档查看地址...
    码农GG阅读 3,180评论 0 0
  • 一、初识Hive 1、Hive简介     (1) 什么是Hive? Hive是基于Hadoop的一个数据仓库可以...
    oooon阅读 7,300评论 0 1

友情链接更多精彩内容