本博文内容主要包括以下内容:
1、在线黑名单过滤实现解析
2、SparkStreaming实现在线黑名单过滤
一、在线黑名单过滤实现解析:
流式处理是现代数据处理的主流,各种电子商务网站,搜索引擎等网站等,都需要做流式比如,通过用户的点击和购买来推断出用户的兴趣爱好,后台能实时计算,这是比较重要的,给用户推荐最好的商品等,推荐更新的信息,给用户更好的服务。Spark Streaming就是Spark Core上的一个应用程序。Spark Streaming中数据是不断的流进来,流进来的数据不断的生成Job,不断的提交给集群去处理,要是想更清晰的看到数据流进来,更清晰的看到数据被处理,只要把Batch Interval修改的足够大,就可以看到了,对于想理解内部的运行过程,排除错误等,都是很有必要的。
广告计费系统,是电商必不可少的一个功能点。为了防止恶意的广告点击(假设商户A和B同时在某电商做了广告,A和B为竞争对手,那么如果A使用点击机器人进行对B的广告的恶意点击,那么B的广告费用将很快被用完),必须对广告点击进行黑名单过滤。黑名单的过滤可以是ID,可以是IP等等,黑名单就是过滤的条件,利用SparkStreaming的流处理特性,可实现实时黑名单的过滤实现。可以使用leftouter join 对目标数据和黑名单数据进行关联,将命中黑名单的数据过滤掉。
二、SparkStreaming实现在线黑名单过滤 :
1、实现代码如下:
/**
* 背景描述:在广告点击计费系统中,