为了账号安全,请及时绑定邮箱和手机立即绑定

请教hbase如何用过滤器实现项目某个求总数量的统计?

请教hbase如何用过滤器实现项目某个求总数量的统计?

BIG阳 2019-10-15 14:10:24
hbase如何用过滤器实现项目某个求总数量的统计
查看完整描述

4 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

hbase的region是按行划分,而非按列,如果你读取指定一行的所有列数据,regionServer虽然无法保证你的所有数据都在一个HFile中,但是至少是在一个Region中。但是具体的HFile所在的hdfs的节点那就不是HBase关心的事了

查看完整回答
反对 回复 2019-10-26
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

hbase的region是按行划分,而非按列,如果你读取指定一行的所有列数据,regionServer虽然无法保证你的所有数据都在一个HFile中,但是至少是在一个Region中。但是具体的HFile所在的hdfs的节点那就不是HBase关心的事了,因为HBase的存储是依赖与hdfs,所以底层存储读取的事会由NameNode操心,NameNode会考虑就近原则,而提供最高效的数据读取策略。
你的数据传输是必然,但是HBase不会计算,计算是发生在你将想要的数据获取到之后再自行进行计算的。你读取大量数据必然会有大量数据传输,HBase只是将提供了一种高效的数据读取策略,尽量减小数据传输量

查看完整回答
反对 回复 2019-10-26
?
慕斯王

TA贡献1864条经验 获得超2个赞

hbase提供了ListFilter过滤
List<Filter> filters = new ArraList<Filter>();
Filter f1=new RowFilter(.........);
Filter f2=new AualifierFilter(................);
filters.add(f1);
filters.add(f2);
FilterList filterList=new FilterList(filters);
Scan scan=new Scan();
scan.setFilter(filterList);
ResultScanner scanner=table.getScanner(scan);
之后遍历就ok了
虽然作者很早就提问了,我还是想让更多人看到



查看完整回答
反对 回复 2019-10-26
  • 4 回答
  • 0 关注
  • 1685 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信