如何处理蜂巢和presto上的hive锁定

时间:2017-12-21 19:28:35

标签: hive presto

我有一些hive表,它们是从spark和hive插入覆盖的。分析师也可以访问这些表格。当然,我们遇到了一些用户正在打不完整数据集的时间窗口,因为presto忽略了锁。

我能想到的选择:

  • 分叉presto-hive连接器以适当地支持配置单元S和X锁。这不是太糟糕,但要做得恰当而耗时。
  • 完成插入覆盖后,交换hive Metastore上的表位置。这没关系,但有点乱,因为我们喜欢在数据库级别存储显式位置并让表继承位置。
  • 停止对这些表执行insert-overwrite,而只是为已更改的内容添加新分区,然后在编写新分区后,更改hive表以查看它。然后我们可以在数据之上查看将正确协调每行最新版本的数据。
  • 停止对s3执行insert-overwrite,s3具有从hive登台到目标表的长复制窗口。如果我们为所有插入覆盖移动到hdfs,我们仍然有问题,但是在一段时间内完成hdfs mv的速度要快得多。 (可能很糟糕:还有一个窗口,我们可以得到不完整的数据)

我的问题是人们通常如何处理这个问题?这似乎是一个常见的场景,可以有一个明确的解决方案,但我似乎错过了它。对于可以查询hive Metastore并直接与hdfs / s3交互而不尊重hive锁的任何第三方工具,可以一般性地询问这一点。

0 个答案:

没有答案