Hive外部表:如果正在更新基础目录期间访问该表,该怎么办?

时间:2016-05-29 06:55:20

标签: amazon-s3 hive hiveql

我正在使用一个hive外部表,它不在S3或HDFS中的文件夹中。每天一次,文件夹将使用新的文件集完全刷新,并且当发生这种情况时,我无法阻止其他人访问该表。这将是非常罕见的,因为更新时间是在非工作时间,但它可能会发生。

有没有办法在没有任何中断的情况下处理此更新?我可以想到一个解决方案,交替使用两个S3(或HDFS)位置并运行"创建外部表"每次使用备用S3位置命令,但我不确定是否有一个优雅的解决方案。

提前致谢!

1 个答案:

答案 0 :(得分:2)

无需解决方法或处理,因为hive会通过locks自动处理。对于非分区表在读取表时,将获取S(shared)锁,而为所有其他操作获取X(Exclusive)锁(插入表中,更改任何类型的表等)。 )。什么查询可以面对获得结果的轻微延迟,直到锁定被释放。供参考:Hive Locking