【发布时间】:2015-10-25 15:27:29
【问题描述】:
我希望基于应用于大型 Spark RDD 字符串向量(约 1B 条记录)的字符串值函数来获得快速的近似集合成员资格。基本上这个想法是减少到Bloom filter。然后可以将此布隆过滤器广播给工作人员以供进一步使用。
更具体地说,我目前有
rdd: RDD[Vector[String]]
f: Vector[String] => String
val uniqueVals = rdd.map(f).distinct().collect()
val uv = sc.broadcast(uniqueVals)
但是uniqueVals 太大而无法实用,我想用更小(且已知)尺寸的东西来代替它,即布隆过滤器。
我的问题:
是否可以reduce成布隆过滤器,还是必须先收集,再在驱动中构造?
是否有成熟的 Scala/Java Bloom 过滤器实现可以适用于此?
【问题讨论】:
标签: scala apache-spark bloom-filter