您的位置:首页 > 其它

第103课:动手实战联合使用Spark Streaming、Broadcast、Accumulator实现在线黑名单过滤和计数

2016-05-14 10:14 489 查看
第103课:动手实战联合使用Spark Streaming、Broadcast、Accumulator实现在线黑名单过滤和计数

/* 王家林老师授课http://weibo.com/ilovepains 每天晚上20:00YY频道现场授课频道68917580*/

Spark Streaming实时流处理,对于nc 输入的数据流进行黑名单过滤,并对黑名单输入的次数进行计数。

我们使用广播变量定义黑名单,使用Broadcast广播黑名单到每个Executor中

broadcastList = jsc.sparkContext().broadcast(Arrays.asList("Hadoop","Mahout","Hive"));

全局计数器,用于通知在线过滤了多少各黑名单

accumulator = jsc.sparkContext().accumulator(0, "OnlineBlacklistCounter");

实验步骤:

1、之前好用的的Tcpudp工具报错了,折腾这个浪费了一点时间



2、重新下载一个windows的nc.exe,java代码中使用hostname pc

在windows cmd命令行中使用nc -l -p 9999 -v,解决了socket 测试数据输入的问题



3、java代码运行,进行黑名单统计计数,结果如下:















源代码如下:

定义了2个receive,分别接收9999、8888两个端口的数据,9999端口统计黑名单,8888的端口不用做什么。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: