开发者社区 问答 正文

构建Bloom Block中chunk主要的两个元素是什么?

构建Bloom Block中chunk主要的两个元素是什么?

展开
收起
游客fbdr25iajcjto 2021-12-05 23:47:03 519 分享 版权
1 条回答
写回答
取消 提交回答
  • •一块连续的内存区域,主要存储一个特定长度的数组。默认数组中所有位都为0,对于row类型的布隆过滤器,cell进来之后会对其rowkey执行hash映射,将其映射到位数组的某一位,该位的值修改为1。

    •firstkey,第一个写入该chunk的cell的rowkey,用来构建Bloom IndexBlock。

    cell写进来之后,首先判断当前chunk是否已经写满,写满的标准是这个chunk容纳的cell个数是否超过阈值。如果超过阈值,就会重新申请一个新的chunk,并将当前chunk放入ready chunks集合中。如果没有写满,则根据布隆过滤器算法使用多个hash函数分别对cell的rowkey进行映射,并将相应的位数组位置为1。

    2021-12-05 23:47:39
    赞同 展开评论
问答地址: