HBase中布隆过滤器作用与原理.pdfVIP

  • 2
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-04-24 发布于四川
  • 举报

《069_HBase里的布隆过滤器到底是个什么东西?(2)》

实际上HFile里主要就是数据块,索引块,布隆过滤器这么几个部分,其他的都是一些辅助

性的,比如trailerblock和load-on-open部分的一些东西都是一些辅助性去定位用的,核

心就是上述几个部分

数据块知道了,索引块留着后续再说,先看布隆过滤器

假设要判断一个元素是否在某个集合里,怎么做?搞一个set?但是万一数据量很大呢,那

set不是要放很多东西?所以布隆过滤器就是干这个的,在一个巨大的数据集合里判断是否

有某个元素

布隆过滤器是一个0-1数组,搞一个长度为N的数组,每个元素初始值为0,然后对集

合里的每个元素做K次哈希运算,用每一个哈希值对N取模得到一个数组的位置,然后就

把这个数组的位置设置为1

比如某个元素做3次hash运算,每个hash值都对数组长度N取模得到一个位置,就把那

个位置设置为1,就这样每个元素都搞这么一通,最后所有元素都运算完毕,就有一个

布隆过滤器,就是一个0-1数组

然后假设要判断某个元素是否在数组里,就对这个元素也做3次hash运算,如果其中某个

值对数组N取模的位置是0,那么这个元素一定不在数组中,因为假设他在数组中,那么3

个hash值对数组N取模的位置必然都是1

然后如果某个元素

文档评论(0)

1亿VIP精品文档

相关文档