我使用的是一个配置单元外部表,它位于s3或hdfs中的一个文件夹之外。一天一次,这个文件夹会被一组新的文件完全刷新,我不能阻止其他人访问这个表。这将是非常罕见的,因为更新时间是在休息时间,但它可以发生。有没有办法不中断地处理此更新?我可以想到一个解决方案,交替使用两个s3(或hdfs)位置,每次都使用备用s3位置运行“createexternaltable”命令,但我不确定是否有一个优雅的解决方案。提前谢谢!
mm5n2pyu1#
无需解决方法或处理,因为 hive 自动通过 locks . 对于正在读取的非分区表 S(shared) 获得锁,而 X(Exclusive) 所有其他操作(插入表、更改任何类型的表等)都会获得锁。查询可以面对的是在获得结果时的轻微延迟,直到释放锁为止。供参考:配置单元锁定
hive
locks
S(shared)
X(Exclusive)
1条答案
按热度按时间mm5n2pyu1#
无需解决方法或处理,因为
hive
自动通过locks
. 对于正在读取的非分区表S(shared)
获得锁,而X(Exclusive)
所有其他操作(插入表、更改任何类型的表等)都会获得锁。查询可以面对的是在获得结果时的轻微延迟,直到释放锁为止。供参考:配置单元锁定