HBase StoreFile合并过程

合并StoreFile的原因

Mem Store每次flush都会生成一个新的HFile,同一个字段的不同版本(TimeStamp),不同类型(Put/Delete)的数据,可能分布在不同的HFile中。因此查询时就要遍历所有的HFile。为了保证查询效率,要定期清理过期和删除的数据。

StoreFile Compaction(合并)的时机

  1. Minor Compaction:小合并,当某个Store中的HFile的数量在三个及以上时,就会触发合并,合并时经过算法的计算,筛选需要合并的HFile。此种合并方式只会将临近的较小的HFile合并,不会清理过期和删除的数据。
  2. Major Compaction:大合并,默认每隔一周时间后会自动合并,但是因为大合并会极大的消耗集群的性能,一般使用手动合并。此种合并方式会将所有的HFile数据重新排序,清理掉过期和删除的数据。

猜你喜欢

转载自blog.csdn.net/FlatTiger/article/details/114265368