hbase Compact 作用、Minor Compact 作者:马育民 • 2021-11-28 12:22 • 阅读:10180 # 说明 当 `MemStore` 超过阀值的时候,就要 `flush` 到 HDFS上生成一个HFile。 因此随着不断写入,HFile的数量将会越来越多,数量过多会降低读性能。 为了避免对读性能的影响,可以对这些HFile进行 `compact` 操作,把多个HFile合并成一个HFile。 compact操作需要对HBase的数据进行多次的重新读写,因此这个过程会产生 **大量的IO**。可以看到compact操作的本质就是以IO操作换取后续的读性能的提高。 # Compact两种方式 ### Minor Compact [![](/upload/0/0/1IX4HYUC6UBZ.jpg)](/upload/0/0/1IX4HYUC6UBZ.jpg) HBase会自动选取 **一些较小的HFile进行合并**,**并将结果写入几个较大的HFile中**。 Minor compaction通过Merge sort的形式将较小的文件合并为较大的文件,从而 **减少了存储的HFile的数量,提升HBase的性能**。 **注意:**不做任何删除数据、多版本数据的清理工作 ### Major Compact [HBase Major Compaction 大合并](https://www.malaoshi.top/show_1IX2JBOFVVVy.html "HBase Major Compaction 大合并") 原文出处:http://malaoshi.top/show_1IX2JDdPYMwG.html