hive表锁问题
hive表锁只在涉及并发操作的时候才能遇到
1. 报错情况
-- 报错提示:
FAILED: Error in acquiring locks: Locks on the underlying objects cannot be acquired. retry after some time
-- 解决办法:关闭并发
set hive.support.concurrency=false;
-- 设置是否开启并发模式, 默认该参数没有被定义
set hive.support.concurrency=false;
2. hive表锁介绍
hive存在两种锁,共享锁Shared (S)和互斥锁Exclusive (X)
共享锁S 可以并发执行, 互斥锁X 不可以并发执行, 可具体到表的分区
各操作锁的触发情况如下:
| Hive Command | Locks Acquired |
|---|---|
| select … T1 partition P1 | S on T1, T1.P1 |
| insert into T2(partition P2) select … T1 partition P1 | S on T2, T1, T1.P1 and X on T2.P2 |
| load d |

本文介绍了Hive表锁在并发操作时遇到的问题及解决策略,如关闭并发模式。详细讲解了Hive的共享锁和互斥锁,包括不同操作下触发的锁类型。同时提供了查看表锁的命令,帮助理解并解决并发控制中的锁冲突问题。
最低0.47元/天 解锁文章
882

被折叠的 条评论
为什么被折叠?



