MSCK REPAIR TABLE SYNC_DIR用于自动同步指定OSS目录下的分区信息,使用场景及约束:

  • 分区比较多,MSCK整张大表比较慢,假如只想同步特定目录下所有的分区信息
  • 有些OSS目录不想再同步进入分区表,但MSCK工具会强制同步整个大目录分区信息,可以使用MSCK SYNC_DIR实现更精准的控制
MSCK REPAIR TABLE tbl1 SYNC_DIR 'oss://${tbl_location}/${partition_path}'
  • 约束:SYNC_DIR后面的oss目录必须是tbl_location的子目录,并且符合分区命名规范。

示例

假定分区表有年月日(year/month/day)三个分区键,以下SYNC_DIR均为合法的

​MSCK REPAIR TABLE tbl1 SYNC_DIR 'oss://${tbl_location}/' 
MSCK REPAIR TABLE tbl1 SYNC_DIR 'oss://${tbl_location}/year=XXX'
MSCK REPAIR TABLE tbl1 SYNC_DIR 'oss://${tbl_location}/year=XXX/month=mmm'
MSCK REPAIR TABLE tbl1 SYNC_DIR 'oss://${tbl_location}/year=XXX/month=mmm/day=ddd'​