Bloom Filter特点:
不存在漏报(False Negative),即某个元素在某个集合中,肯定能报出来。
可能存在误报(False Positive),即某个元素不在某个集合中,可能也被爆出来。
应用场景:
网页爬虫对URL的去重,避免爬取相同的URL地址;
反垃圾邮件,从数十亿个垃圾邮件列表中判断某邮箱是否垃圾邮箱(同理,垃圾短信);
缓存击穿,将已存在的缓存放到布隆中,当黑客访问不存在的缓存时迅速返回避免缓存及DB挂掉。
spark的jion操作中Runtime Filter的过滤原理实现。
网友评论