概述
Hive结合Zookeeper支持锁功能
Hive中包含了一个使用Zookeeper进行锁定的锁功能。Zookeeper实现了高度可靠的分布式协调服务。处理需要增加一些额外的设置和配置步骤。Zookeeper对于Hive用户来说是透明的。
安装Zookeeper参见Zookeeper文档
现在我们来配置Hive,让其可以使用这些Zookeeper节点来启用并发支持:
需要再Hive的配置文件hive-site.xml中增加如下配置
<property>
<name>hive.zookeeper.quorum</name>
<value>zk1,zk2,zk3</value>
</property>
<property>
<name>hive.support.concurrency</name>
<value>true</value>
</property>
配置好这些属性以后,Hive会对特定的查询自动启动获取锁,用户可以使用如下命令来查看锁:
show locks ;
show locks places extended ;//places是分区表
show locks places partition(...) ;
show locks places partition(...) extended ;
Hive提供了2中类型的锁:共享锁和独占锁。
显示锁和独占锁:
用户同样地可以显示的管理锁,假设某个Hive会话对表people创建了一个显示锁:
lock table people exclusive ;
而此时另外一个Hive会话,尝试查询这个被锁定的表:
select * from people ;//失败 conflicting lock.
通过如下命令对表进行解锁以后,才可以进行查询等一些操作:
unlock table people ;
最后
以上就是仁爱网络为你收集整理的Hive锁的全部内容,希望文章能够帮你解决Hive锁所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复