hiveexternaltable:如果在更新基础目录的过程中访问了该表怎么办

b4lqfgs4  于 2021-06-29  发布在  Hive
关注(0)|答案(1)|浏览(254)

我使用的是一个配置单元外部表,它位于s3或hdfs中的一个文件夹之外。一天一次,这个文件夹会被一组新的文件完全刷新,我不能阻止其他人访问这个表。这将是非常罕见的,因为更新时间是在休息时间,但它可以发生。
有没有办法不中断地处理此更新?我可以想到一个解决方案,交替使用两个s3(或hdfs)位置,每次都使用备用s3位置运行“createexternaltable”命令,但我不确定是否有一个优雅的解决方案。
提前谢谢!

mm5n2pyu

mm5n2pyu1#

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

相关问题