我每天都有数据摄取到HDFS中。 从数据到 HDFS 中,我生成按日期分区的 Hive 外部表。 我的要求如下,我是否应该在每次数据摄取后运行MSCK修复表名,在这种情况下我必须每天运行命令。 或者在创建表时只运行一次就足够了。 非常感谢您的回答
此致敬意
只有在更改外部表的结构或分区时,才能运行MSCK REPAIR TABLE
。此命令更新表的元数据。
通常发生的一个例子,例如
您可以使用表示日期的字段dt
对表进行分区。
- 昨天,您插入了一些
dt=2018-06-12
的数据,然后您应该运行MSCK REPAIR TABLE
来更新元数据以告诉 Hive 知道一个新的分区dt=2018-06-12
。 - 今天,您插入一些
dt=2018-06-13
的数据,然后您应该运行MSCK REPAIR TABLE
来更新元数据以告诉 hive 知道一个新的分区dt=2018-06-13
。