张老师, 您好! 请教一个HBase的问题,我们线上有张表,应用了Stripe Compaction策略,每个region均值40G,被分成8个Stripe,每个Stripe5g,业务删除大量数据,表整体和单个region手动触发major compaction不起作用,挑选不出来合适的文件参与合并。
看了源码,每个Stripe下面应用的合并策略是,ExploringCompactionPolicy,这个策略有一个关键点,筛选耽搁Stripe的Store file列表,候选文件列表中,只要存在一个文件的大小过大,满足条件,fileSize > (totalFileSize - fileSize) * (hbase.hstore.compaction.ratio 默认值1.2),就不会筛选出来文件参与major 如果支持一个强制合并的机制,是否合理?针对大量删除场景,或bulkload,存在大量数据被标记删除,可以在手动触发major时, 显式传入一个foreMajor之类的参数,就是 不应用挑选策略,直接选择合并全部文件,目前是否存在这样的功能,或者这样的功能是否合理?除此之外,针对这样的情况,是否有更理想的方案呢? 期待张老师的解惑,十分感谢😁😁