Hive2.x、HiveServer、HiveServer2简述及Beeline使用
2019独角兽企业重金招聘Python工程师标准>>>
Hive2.x
hive2.x特性
- LLAP(Live Long and Process)Hive2.1进行了极大的性能优化。在Hive2.x开启LLAP与Apache Hive1.x进行对比测试,其性能提升约25倍。
- 支持使用HPL/SQL的存储过程,Hive2.0.0推出的Hive Hybrid Procedural SQL On Hadoop (HPL/SQL) 是一个在Hive上执行过程SQL的工具,它可以表达复杂的业务规则。
- 更智能的成本优化器CBO,Hive2.0开始持续不断地优化成本优化器CBO,尤其是在BI业务关注的TPC-DS查询上。
- 提供全面详尽的监控和诊断工具,可以通过新的Hive Server2 Web UI,LLAP Web UI和Tez Web UI查看Hive相关的HQL查询以及关联的作业状态和日志。丰富了Hive用户的运维和排错的手段。
HiveServer
- 在hive的机器上启动一个server:客户端可以通过ip + port的方式对其进行访问之后,就可以有很多客户端连到这个server上面去干活可以采用jdbc、odbc、beeline的方式进行连接
- HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果。HiveServer无法处理来自多个客户端的并发请求.从Hive 0.11.0版本开始。建议使用HiveServer2。
HiveServer2
- HiveServer2(HS2)是一种能使客户端执行Hive查询的服务。 HiveServer2是HiveServer1的改进版,HiveServer1已经被废弃。HiveServer2可以支持多客户端并发和身份认证。旨在为开放API客户端(如JDBC和ODBC)提供更好的支持。
- 远程HiveServer2模式是Hive产品使用的推荐模式,它更加安全并且不需要直接为用户对HDFS/metastore进行赋权。
Beeline
- 是hive的新hiveCLI
CLI hive -vs- Beeline
# Beeline操作结果
0: jdbc:hive2://node225:10000/movie> select * from t_user limit 5;
OK
+----------------+----------------+-------------+--------------------+-----------------+--+
| t_user.userid | t_user.gender | t_user.age | t_user.occupation | t_user.zipcode |
+----------------+----------------+-------------+--------------------+-----------------+--+
| 1 | F | 1 | 10 | 48067 |
| 2 | M | 56 | 16 | 70072 |
| 3 | M | 25 | 15 | 55117 |
| 4 | M | 45 | 7 | 02460 |
| 5 | M | 25 | 20 | 55455 |
+----------------+----------------+-------------+--------------------+-----------------+--+
# hive 操作结果
hive> select * from t_user limit 5;
OK
1 F 1 10 48067
2 M 56 16 70072
3 M 25 15 55117
4 M 45 7 02460
5 M 25 20 55455
Time taken: 2.662 seconds, Fetched: 5 row(s)
hive>
要使用Beeline前需要先启动HiveServer2,启动过程中可以通过hiveconf设置相应的自定义参数和值,直接启动会占据当前连接会话,第一次可以直接启动,正常启动后可以切换至后台运行方式启动。
# 直接启动
[root@node225 ~]# /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000
# 后台运行方式启动
[root@node225 ~]# /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 2>&1 >> /dev/null &#或者
#分别记录标准日志输出和错误日志
nohup /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 1>/usr/local/hive-2.1.1/hivelog/hiveserver.log 2>/usr/local/hive-2.1.1/hivelog/hiveserver.err &
#不记录日志
nohup /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 1>/dev/null 2>/dev/null &
nohup /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 >/dev/null 2>&1 &
beeline的使用
- -n 指定机器登陆的名字,当前机器的登陆用户名
- -u 指定一个连接串
每成功运行一个命令,hiveserver2启动的那个窗口,只要在启动beeline的窗口中执行成功一条命令,另外个窗口随即打印一个OK如果命令错误,hiveserver2那个窗口就会抛出异常
# beeline连接hive
[root@node225 ~]# /usr/local/hive-2.1.1/bin/beeline -u jdbc:hive2://node225:10000/movie -n root
which: no hbase in (.:/usr/local/jdk1.8.0_66//bin:/usr/local/zookeeper-3.4.10/bin:ZK_HOME/sbin:ZK_HOME/lib:/usr/local/hadoop-2.6.5//bin:/usr/local/hadoop-2.6.5//sbin:/usr/local/hadoop-2.6.5//lib:/usr/local/hive-2.1.1/bin:/usr/local/mongodb/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
Connecting to jdbc:hive2://node225:10000/movie
Connected to: Apache Hive (version 2.1.1)
Driver: Hive JDBC (version 2.1.1)
18/10/09 14:03:00 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.1.1 by Apache Hive
0: jdbc:hive2://node225:10000/movie> select current_database();
+----------------+--+
| database_name |
+----------------+--+
| db_hive_edu |
| default |
| movie |
+----------------+--+
3 rows selected (1.293 seconds)
可以在相同局域网内的其他部署hive的节点上通过Beelin连接指定的HiveServer2服务,进行多用户操作。
退出beeline连接用!quit
转载于:https://my.oschina.net/peakfang/blog/2239770
Hive2.x、HiveServer、HiveServer2简述及Beeline使用相关推荐
- Kettle安装与使用
一.Kettle简介 Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extraction, Transportation, Transfo ...
- hive2 java连接_用Java代码通过JDBC连接Hiveserver2
1.在终端启动hiveserver2 #hiveserver2 2.使用beeline连接hive 另外打开一个终端,输入如下命令(xavierdb必须是已经存在的数据库) #beeline -u j ...
- Hive 客户端 Beeline 、IDEA|Eclipse使用JDBC连接hiveserver2
1.Beline Beeline 要与HiveServer2配合使用 服务端启动hiveserver2 客户的通过beeline两种方式连接到hive a.beeline -u jdbc:hive2: ...
- Hiveserver2的代理执行之路
背景 对于一个数据平台的SQL查询服务,impala提供了优于hive/spark sql等一批sql-on-mr/spark性能的查询引擎,并且得益于impala可以直接共享hive的metasto ...
- Hive Serde、Beeline、JDBC
一.Hive Serde 用于做序列化和反序列化,构建在数据存储和执行引擎之间,对二者实现解耦. 创建表的2种规则row format:delimited和serde,正则匹配 创建表: CREATE ...
- Hive beeline详解
Hive客户端工具后续将使用Beeline 替代HiveCLI ,并且后续版本也会废弃掉HiveCLI 客户端工具,Beeline是 Hive 0.11版本引入的新命令行客户端工具,它是基于SQLLi ...
- 【Hive】Beeline CLI介绍
Beeline,它其实是HiveServer2的JDBC客户端,基于SQLLine命令行接口.Beeline Shell可以工作在嵌入式模式和远程模式,在嵌入式模式中,它运行一个嵌入式的Hive(类似 ...
- beeline安装_Beeline使用
背景 hadoop2的hive采用了新的hive server,称为HiveServer2,HiveServer2中的CLI客户端不建议使用hive CLI,而是建议使用Beeline这个客户端,今天 ...
- Hive的Metastore服务和Hiveserver2服务的详细说明
Hive的Metastore服务和Hiveserver2服务的详细说明 一.Metastore服务 1.什么时候需要开启和使用Metastore服务呢? 首先我们先来了解Hive获取Mysql元 ...
最新文章
- c语言中delay找不到标识符,51单片机的c语言,请问哪里错了?延时没有效果,但是编译又不报错。delay应该怎么写,怎么引用啊?...
- 仿Gin搭建自己的web框架(五)
- 自动驾驶中高精地图的大规模生产:视觉惯导技术在高德的应用
- python部落稿酬_Python之父考虑重构Python解释器
- 海天食品的java开发工作如何_再三个月就秋招了,我想找一份java开发工作,现在应该怎么准备一下?...
- ZFS 学习(转载)
- “公益AI之星”挑战赛-新冠疫情相似句对判定大赛
- P1043 数字游戏
- LINUX C正确遍历environ
- webpack5学习与实战-(九)-区分开发和生产环境的配置
- Egg.js框架的简单使用
- WIN10 未安装音频设备输出设备 喇叭红叉
- 建模常用Python代码
- ADSL防御黑客攻击的十大方法(转)
- 很迷茫,30岁,大专学历,没有一技之长,负债累累,怎么翻身?
- 旁路电容、去耦电容——EMC整改
- 什么是大数据(转自知乎)
- unity IOS 微信踩坑记录
- scanf与空白字符
- Android仿微信朋友圈图片上传选择器布局