Parralel插入到具有非重叠查询的hive表中

时间:2017-10-02 14:24:15

标签: hadoop hive

假设我必须将表T1和T2都分区(日,国家)并且我并行运行两个查询,类似于:

INSERT OVERWRITE TABLE T1 PARTITION (day, country) SELECT * FROM T2 WHERE country='DE'
INSERT OVERWRITE TABLE T1 PARTITION (day, country) SELECT * FROM T2 WHERE country='FR'

因此,非重叠查询。我不确定这种情况会发生什么?根据文档https://cwiki.apache.org/confluence/display/Hive/Locking#Locking-TurnOffConcurrency,我的理解是第二个查询必须等到第一个查询完成。

1 个答案:

答案 0 :(得分:1)

我不认为这是可能的,因为每当你尝试在hive中的表上插入覆盖时,表将处于独占锁定模式..这意味着你只能从该表中读取但不能将内容添加到表

请参阅以下链接,该链接描述了配置单元中的锁定机制:

https://cwiki.apache.org/confluence/display/Hive/Locking