我有一个Spark作业,它的最终输出是一个Algebird bloom filter,我需要在另一个Spark作业中重用这个bloom filter。有没有一种方法可以使用Twitter Storehaus将这个bloom filter存储在kv商店(例如: redis)中,并在其他作业中检索它(反序列化为代数bloom filter)?
发布于 2016-10-12 03:45:42
如果您不打算对bloomfilter进行并发修改,最好的方法是将bloomfilter存储为分布式位集。考虑键空间是对数组分区的索引,值是该索引的数组部分。然后,您可以使用更少的IO进行读取和写入。这需要您基本上在storehaus MergeableStore级别重新实现bloom算法。
在storehaus中使用它会很好,但我们还没有真正做到这一点。我们一直使用不需要分发的较小的bloomfilters。
https://stackoverflow.com/questions/38639871
复制相似问题