在发出msck repair table
语句时,该表是否仍然可以在udpate期间查询?
我问,因为我正在试图找出一个相对较大的S3 hive表的最佳更新时间表,该表用于在QuickSight中驱动某些报告。发出此命令是否会破坏碰巧同时运行基于此表的QuickSight报告的任何人?
是的,当您运行MSCK REPAIR TABLE
时,该表可用于运行查询,这是一个后台进程。但是,在该命令运行时运行的查询将看到不同的分区,因为命令发现的分区将在找到时添加。
请注意,运行MSCK REPAIR TABLE
是一个非常低效的过程,许多分区将运行很长时间,并且它不是增量的。这对于查询性能无关紧要,但如果现在需要很长时间,它只会花费更长时间,而且可能不是一个可行的长期策略。 StackOverflow上还有一些关于它的问题,您可以阅读这些问题以找到保持表格最新的其他策略。