【问题标题】:Hive don't get write lock by on new partition when there is read lock on older partitions当旧分区上有读锁时,Hive 不会在新分区上获得写锁
【发布时间】:2017-06-24 00:27:24
【问题描述】:

我们有按日期分区的数据。我们的管道每天都会向表添加新分区。我们还有一些用例,人们通过对分区进行过滤来运行长读查询。

我们已经看到了这种行为,如果在旧分区上运行一些读取查询(拥有共享锁),那么我们就无法获取新分区的锁(独占)。

有没有一种方法可以让 HIVE 识别出新分区不会被早期查询读取并为该分区获取 EXLUSIVE 锁以增加并行度。

【问题讨论】:

    标签: hadoop hive hiveql


    【解决方案1】:

    根据the documentation 的说法,在一个分区上拥有一个共享锁,并不妨碍您在同一个分区上获得一个排他锁。

    理论上你的问题会显得无效,但在实践中我可以想到以下两件事:

    1. hive 很难看到您正在使用哪些分区(复杂/间接的 where 语句?)
    2. 文档不准确,或被我误解了

    我建议您检查第 1 点,否则添加一个最小的可重现示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 2014-02-24
      相关资源
      最近更新 更多