第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的端口不用做什么。
/* 王家林老师授课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的端口不用做什么。
相关文章推荐
- 程序员的自我修养 读书笔记02
- YUV采样及存储格式
- 在ASP.NET 2.0中操作数据之四十二:DataList和Repeater数据排序(一)
- [LeetCode] 148. Sort List (Linked List) - Using Quick Sort(小改动)
- JavaScript中的比较
- 第10、11周项目1 简单派生类(3)
- session Storage、local Storage和IndexedDB的区别
- 结构体内重载小于号< 及构造函数
- java多线程的创建
- php+html5+ajax实现上传图片的方法
- UITabBarItem设置selectedImage无效解决
- [SDOI2011] [BZOJ2242] 计算器 - bsgs,快速幂,逆元,map/hash
- 排序算法:堆排序
- Service与Intent(一)
- /proc/sys/net/ipv4/下各项的意义
- Python随手笔记-day1
- listview 中item 点击无效
- 网络仿真NS2之——环境配置
- linux centos下 svn 版本控制服务器的搭建
- CSS 实现:checkbox