当前位置:   article > 正文

【Hive】Hive锁机制分析及任务问题处理_hive metastore 关闭锁机制会产生什么影响

hive metastore 关闭锁机制会产生什么影响

1.背景

在数据仓库开发中,遇到了读取数据任务导致锁表问题,发现是因为补数据或月度大任务跨天运行,此时凌晨定时的写入操作就会被阻塞进入等待状态(如果超过最大等待时间会失败),直到读取任务完成写入任务才可以继续运行,导致当天结果层数据输出延迟。因此分析并总结下锁表机制原理以及解决方式。

2.锁机制及原理分析

Hive 目前主要有两种锁,SHARED(共享锁 S)和 Exclusive(排他锁 X),同时又分表锁与分区锁,分区锁为最小粒度;共享锁 S 和  排他锁 X 它们之间的兼容性矩阵关系如下:

0

解释:

  • 1)表锁与分区锁,分区锁为最小粒度(如果表锁未锁写入的分区,是可以执行写入任务的)
  • 2)查询操作使用共享锁(S锁),共享锁是可以多重、并发使用的(就是说其他查询也可以挂S锁,并发查询不会阻塞修改会阻塞)
  • 3)修改表操作使用独占锁(X锁),它会阻止其他的查询、修改操作
  • 4)S锁和X锁同时出现会出现死锁情况(查询和写入不可同时发生)

以下情况会出发锁,以及它的类型和锁定范围如下:

Hive Command

Lo

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号