http://www.binospace.com/index.php/make-your-hbase-better-2/
关键词:AggregationClient
对于Table内RowKey个数的统计,一直是HBase系统面临的一项重要工作,目前有两种执行该操作的方式。
1)使用MapReduce进行。可以借助HTableInputFormat实现对于Rowkey的划分,但是需要占用资源,另外由于使用的Hadoop集群提交作业,经常会遇到不能申请到资源的情况,延迟较大,不适合应用的频繁访问。
2)使用Scan+KeyOnlyFilter的方式进行。可以借助Filter的功能,尽可能实现数据在RegionServer端进行统计,减轻Client端的压力。但是,在大多数情况下,从每一个Region上进行Scan,当Table较大时,会造成非常长的延迟,用户体验下降。
基于此,我们考虑到了Coprocessor这样的新特性。
操作上,HBase-0.92.1提供了
org.apache.hadoop.hbase.coprocessor.AggregateImplementation