HBase2 使用协处理器删除指定qualifier的全部数据
用户画像的场景中,通常会开发很多标签,每个标签作为一个qualifier,其中有一些不再使用后需要下线,但hbase提供的delete相关api都只能针对单行,要清理某个qualifier的全部数据不太容易,这里提供一个基于协处理器的实现方案; hbase对于compact过程提供了以下5个hook可以嵌入自定义代码: preCompactSelection postCompactSelection preCompactScannerOpen preCompact postCompact 而preCompact会在创建了storeScanner之后读取数据之前调用,因此这里的思路就是对scanner进行代理,创建一个新的scanner实现其next方法,进而对读取到的原始数据进行加工; 代码如下,参考了hbase-examples模块中的ValueRewritingObserver类: public class QualifierDeletingObserver implements RegionObserver, RegionCoprocessor { private static ...

