首页 > 编程知识 正文

hbase列置过滤器,布隆过滤器 redis

时间:2023-05-04 18:51:37 阅读:130406 作者:4637

在光晕过滤器HBase中如何设定

布隆过滤器

布鲁姆是个人,发明了布鲁姆算法。 基于布隆算法实现的组件称为布隆过滤器! 此组件通常用作过滤器!过滤功能:在海量的数据中,以极高的效率和性能,判断一个数据是否存在于收藏中!作用:布隆过滤器只能确定一个数据一定不存在于集合中,或者可能存在于集合中。误判:布隆过滤器判断数据可能存在,实际扫描后发现不存在。 这有存在的概率!布隆过滤器是可以提升读的性能!存在误判率!

那么,我画个图来说明

说明R3在集合中一定不存在

表示R4可能存在

在HBase中如何在1.HBase中设定基于列族的过滤器?

2.HBase支持两种类型的光晕过滤器。 row|row col http://www.Sina.com/:布隆过滤器在计算时使用每行的rowkey作为参数进行判断!ROW

info------------info1

infostorefile1:(R1,info:age,20 ),) r2,info:age,20 ) )。

info1storefile2:(R3,info1:age,20 ),) r4,info1:age,20 ) ) )。

查询r1时,如果命中,则判断storefile2中一定没有r1的数据,可能在storefile1中!举例::布隆过滤器在计算时将每行的rowkey和column一起用作参数进行判断!

示例:

info------------info1

infostorefile1:(R1,info:age,20 ),) r2,info:age,20 ) )。

info1storefile2:(R3,info1:age,20 ),) r4,info1:age,20 ) ) )。

如果在检查rowkey=r1并仅检查info:age=20列时命中,则判断storefile2中没有此数据,storefile1中可能有!ROWCOL

在旧版本中,只有get操作使用光晕过滤器,不能使用扫描!

1.x之后,扫描也可以使用布隆过滤器,稍微在起点作用! http://www.Sina.com/http://www.Sina.com /

执行get‘t1’、‘R1’

扫描具有r1的region的所有列族的memstore,扫描memstore时,首先用布隆过滤器判断r1是否存在,如果不存在,可能不扫描就存在。 重新扫描!

扫描Storefile时,如果在Storefile中,r1所在的block已缓存在blockcache中,则直接扫描blockcache。 扫描blockcache时,首先使用布隆过滤器判断r1是否存在,如果不存在则不扫描。 可能存在。 重新扫描!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。