近期发现部分segement合并新建出现问题,查询错误日志均无异常。想起在手动删除segement表时发现部分表无法删除。
最后查询kylin的元数据表,查询备份的表发现部分元数据存在NEW状态表(该表只有目录,未创建hbase表,jobID查询为空,所以无法查询)
元数据的表现形式是:
{
。。。
"date_range_end" : 1612702800000,
"source_offset_start" : 0,
"source_offset_end" : 0,
"status" : "NEW",
"size_kb" : 0,
。。。
}
现在采用备份后修改元数据表的方法处理,在备份表中删除带NEW字段的segement,并恢复,达到删除segement的效果。具体操作步骤如下:
1,disable 表
2,拉取指定元数据信息 ./bin/metastore.sh fetch cube/***.json
3,在其中删除带NEW的segement字段,并验证json可用 将json放在/path/cube/ 下面
4,恢复元数据 ./bin/metastore.sh restore ./meta_backups/path/ 在恢复完成后,单击 Web UI 上的“Reload Metadata”按钮以刷新缓存。
5,enable 该表并验证功能