MSCK REPAIR hive 外部表

sca*_*ode 5 hive

我每天都会将数据摄入到 HDFS 中。从数据到 HDFS,我生成按日期分区的 Hive 外部表。我的问题如下,我是否应该在每次数据摄取后运行 MSCK REPAIR TABLE tablename ,在这种情况下我必须每天运行该命令。或者在表创建时运行一次就足够了。非常感谢你的回答

此致

kkp*_*oon 5

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