hive退出命令_从零开始学习大数据系列(五十五)使用Hive命令行及内置服务
[本文2000字左右,预计阅读需要15-20分钟]
让我们来回顾下之前用到的Hive用户的交互接口。Hive用户接口主要有三个:命令行(CLI),客户端(Client)和Web界面(WUI)。$HIVE_HOME/bin/hive这个shell命令是通向包括命令行界面也就是CLI等等Hive服务的通道。Hive命令行CLI是最常用的命令行接口,今天让我们来介绍下Hive命令行接口(Hive Command Line) 和Hive交互式Shell(Hive Interactive Shell)命令的一些使用以及Hive的一些内置服务。
1
Hive命令行CLI的使用
01Hive命令行接口
输入$HIVE_HOME/bin/hive -H或 –help可以显示帮助选项
具体选项的解释如下
-d,–define |
定义一个变量值,这个变量可以在Hive交互Shell中引用,比如:-d A=B |
–database |
进入Hive交互Shell时候指定数据库,默认进入default数据库 |
-e |
命令行执行一段SQL语句 |
-f |
filename文件中保存HQL语句,执行其中的语句 |
-H,–help |
显示帮助信息 |
-h |
连接远程Hive Server |
–hiveconf |
在命令行中设置Hive的运行时配置参数,优先级高于hive-site.xml,但低于Hive交互Shell中使用Set命令设置。 |
–hivevar |
同—define, 定义一个变量值,这个变量可以在Hive交互Shell中引用,比如:-d A=B |
-i |
进入Hive交互Shell时候先执行filename中的HQL语句 |
-p |
连接远程Hive Server的端口号 |
-S,–silent |
静默模式,指定后不显示执行进度信息,最后只显示结果 |
-v,–verbose |
冗余模式,额外打印出执行的HQL语句 |
简单下几个选项
-d,define
$HIVE_HOME/bin/hive -d k1=v1 –database dataaccess
上述命令表示,定义了一个变量k1,值为v1,执行数据库为dataaccess。
进入Hive交互Shell之后,可以使用${k1}来引用该变量,比如:
Hive>select ‘${k1}’ from data limit1
这里将k1的值v1打印出来。
-e
当有需求是期望执行一个或多个查询(使用分号分隔),执行结束后Hive CLI立即退出,Hive CLI可以接受-e命令这种形式,
例如,执行以下命令:
$HIVE_HOME/bin/hive –e ‘select * from dataaccess.data linit 10’
直接进行查询操作。临时应急时可以使用这个功能将查询结果保存到一个文件中。增加-S选项可以开启静默模式,这样可以在输出结果中去掉“OK”和“Time taken”等行,以及其他一些无关紧要的输出信息。
-f
Hive中可以使用-f文件名的方式执行指定文件中的一个或多个查询语句,例如
在sql.txt中输入
select * from dataaccess.data;
执行以下命令直接进行查询操作。
$HIVE_HOME/bin/hive –f sql.txt
-hiveconfig
可以使用该选项设定Hive的运行参数配置,相当于在Hive交互Shell中使用set命令进行设置。比如,执行以下命令
$HIVE_HOME/bin/hive –hiveconf mapred.reduce.tasks=20
进入交互Shell之后,运行的所有查询都会设置20个reduce task,除非又用set mapred.reduce.tasks=N;进行另外设定。
-hivevar 。
使用方式与-d,-define一样。
执行
$HIVE_HOME/bin/hive -hivevar k2=v2 –database dataaccess
表示,定义了一个变量k2,值为v2,执行了数据库为dataaccess。
进入Hive交互Shell之后,可以使用${k2}来引用该变量,比如:
Hive>select ‘${k2}’ from data limit 1
这里将k2的值v2打印出来。
02Hive交互式Shell命令
Hive交互Shell指执行$HIVE_HOME/bin/hive之后,进入的有hive>提示符的交互式命令行,在这里可以执行查询语句,设置参数等等,所有的命令必须以分号结束,具体有以下命令和选项:
quit或exit:
退出交互式Shell
set –v:
打印出所有Hive的配置参数和Hadoop配置参数。
set = :
设置Hive运行时参数,优先级最高,相同的key,后面的设置会覆盖前面的设置。
reset:
重置所有Hive运行时配置的参数,如之前使用Set命令设置的reduce数量,reset之后,重置为hive-site.xml中的配置。
!
在交互Shell中执行Linux操作系统命令并打印出结果,不常用
比如:
dfs
在交互Shell中执行hadoop fs 命令,不常用
比如,列出hdfs文件系统中目录:
最常用的,执行HQL语句,以分号结尾;
source FILE
在交互Shell中执行一个脚本,不常用。
准备一个HQL脚本,里面写入查询语句:
select * from dataaccess.data;
在交互Shell中执行该脚本进行查询。
2
内置服务
Hive内部自带了许多的服务,我们可以在运行时用–service选项来明确指定使用什么服务,如果不知道Hive内部有多少服务,可以用下面的–service help来查看帮助。如下:
$hive --service helpUsage ./hive --service serviceName Service List: beeline cli help hiveserver2 hiveserver hwi jar lineage metastore metatool orcfiledump rcfilecatParameters parsed:--auxpath : Auxillary jars--config : Hive configuration directory--service : Starts specific service/component. cli is defaultParameters used:HADOOP_HOME or HADOOP_PREFIX : Hadoop install directoryHIVE_OPT : Hive optionsFor help on a particular service:./hive --service serviceName --helpDebug help: ./hive --debug --help
可以看到上面的输出项Service List,里面显示出Hive支持的服务列表:
beeline
cli
help
hiveserver2
hiveserver
hwi
jar
lineage
metastore
metatool
orcfiledump
rcfilecat
下面介绍最有用的一些服务。
cli:这个就是Command Line Interface的简写,是Hive的命令行界面,用的比较多。这是默认的服务,直接可以在命令行里面使用。
hiveserver:这个可以让Hive以提供Trift服务的服务器形式来运行,可以允许许多不同语言编写的客户端进行通信。使用需要启动HiveServer服务以和客户端联系,我们可以通过设置HIVE_PORT环境变量来设置服务器所监听的端口号,在默认的情况下,端口为10000。可以通过下面方式来启动hiveserver:
$ bin/hive --service hive server -p 10002
Starting Hive Thrift Server
其中-p参数也是用来指定监听端口的。
hwi:其实就是hive web interface的缩写,它是Hive的Web接口,是hive cli的一个web替换方案。
jar:与Hadoop jar等价的Hive的接口,这是运行类路径中同时包含Hadoop和Hive类的Java应用程序的简便方式。
metastore:在默认情况下,metastore和Hive服务运行在同一个进程中。使用这个服务,可以让metastore作为一个单独的进程运行,我们可以通过METASTORE_PORT来指定监听的端口号。
hive退出命令_从零开始学习大数据系列(五十五)使用Hive命令行及内置服务相关推荐
- hive 如果表不存在则创建_从零开始学习大数据系列(四十七) Hive中数据的加载与导出...
[本文大约1400字,阅读时间5~10分钟] 在<从零开始学习大数据系列(三十八) Hive中的数据库和表>和<从零开始学习大数据系列(四十二)Hive中的分区>文章中,我们已 ...
- 从零开始学习大数据系列之Linux-02Vim与Shell script
从零开始学习大数据系列之Linux-02Vim与Shell script Shell Shell概述 Shell是允许用户输入命令的界面,即命令解释器.用于接收应用程序/用户的命令,然后调用操作系统内 ...
- 2021年大数据HBase(十五):HBase的Bulk Load批量加载操作
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的Bulk Load批量加载操作 一.Bulk L ...
- 2021年大数据Hadoop(十五):Hadoop的联邦机制 Federation
全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Hadoop的联邦机制 Federation 背景概述 F ...
- 写给初学大数据的你,从零开始学习大数据开发的完整学习路线
最近很多人都想学习大数据开发,但是却不知道如何开始学习,今天专门整理了一份针对大数据初学者的大数据开发学习路线. 下面分十个章节来说明大数据开发要学习的内容: 互联网科技发展蓬勃兴起,人工智能时代来临 ...
- 【若泽大数据实战第十六天】Hive的安装部署 + 课程一个月总结
前言: Hadoop的课程已经告一段落,基本上在零基础课程里不会再出现了,接下来的课程由若总来上,第一讲Have. 复习前一个月的课程内容: 1.Linux Linux: 文件(*****) 权限(* ...
- 从零开始学习大数据平台(Episode 1)
文章目录 (零)前言 (一)准备集群虚拟机与操作系统 (1.1)准备Master虚拟机 (1.2)准备Workers虚拟机 (1.3)设置虚拟机环境 (二)安装Hadoop和Spark (2.1)准备 ...
- 数据交换平台_从零开始理解大数据架构之数据交换平台
项目简介 Exchangis是一个轻量级的.高扩展性的数据交换平台,支持对结构化及无结构化的异构数据源之间的数据传输,在应用层上具有数据权限管控.节点服务高可用和多租户资源隔离等业务特性,而在数据层上 ...
- 从零开始学习大数据笔记 - 开篇
(一)大数据发展史
最新文章
- php amr mp3,php 微信amr转mp3的方法
- 【php】windows安装PHP5.5+Apache2.4
- python里面的之前打过的记忆信息-忘了Python关键语句?这份备忘录拯救你的记忆...
- SpringMVC的常用注解
- [ST2017] Lab1: Triangle type and Junit test
- 2寸的照片长宽各是多少_贵州公务员考试照片尺寸要求是多少
- request如何获取请求路径方法
- 软件项目经理新手上路(11) - 找不到自己,看不见别人
- 请教Parser Generator 开发工具中关于Lex和Yacc的问题
- 七种滤波方法测试matlab
- mt950报文解析_MT700报文升级内容逐项解析
- 计算机毕业设计JAVA‘大学生心理健康咨询管理系统mybatis+源码+调试部署+系统+数据库+lw
- navicat 10.1.7 注册码
- Linux使用libmodbus源码开发,LibModbus源码分析
- win10声音输出设备选择声卡步骤
- java guardedby_Java多线程基础(五)——Guarded Suspension模式
- 上课作业(5)——#576. 饥饿的牛(hunger)
- 安装软件时遇到 1152:Error extracting to the temporary location
- 《连载 | 物联网框架ServerSuperIO教程》- 15.数据持久化接口的使用。附:3.2发布与版本更新说明。...
- C/C++编程:实现hash函数
热门文章
- java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
- gts 什么是google_Google Analytics分析(GA)是什么?为什么全世界都在用
- C++之explicit探究
- mac系统pycharm配置python环境_Python--在Mac下安装PyQt5环境并配合pycharm(全部使用当前最新版)...
- mysql 唯一索引_面试官:谈谈你对mysql索引的认识?
- copy 收到_离散内存与zero_copy的一些思考
- java 内存溢出分析_用一段时间后java内存溢出问题分析(转)
- atom python教程_对于新手来说 如何用atom搭建python的ide?
- gdb 查看是否 栈溢出_ASLR、DEP与栈保护(HFUT-ZRB#x27;s Task)
- 计算机教师的幸福,如何成为一名幸福信息技术教师