构建Bloom Block中chunk主要的两个元素是什么?
•一块连续的内存区域,主要存储一个特定长度的数组。默认数组中所有位都为0,对于row类型的布隆过滤器,cell进来之后会对其rowkey执行hash映射,将其映射到位数组的某一位,该位的值修改为1。
•firstkey,第一个写入该chunk的cell的rowkey,用来构建Bloom IndexBlock。
cell写进来之后,首先判断当前chunk是否已经写满,写满的标准是这个chunk容纳的cell个数是否超过阈值。如果超过阈值,就会重新申请一个新的chunk,并将当前chunk放入ready chunks集合中。如果没有写满,则根据布隆过滤器算法使用多个hash函数分别对cell的rowkey进行映射,并将相应的位数组位置为1。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。