updateStateByKey--word count
2015-09-04 00:00
183 查看
摘要: 使用updateStateByKey来保存上次计算的结果
http://blog.selfup.cn/619.html
http://blog.selfup.cn/619.html
private static final Pattern SPACE = Pattern.compile(" "); public static void main(String[] args) { StreamingExamples.setStreamingLogLevels(); JavaStreamingContext jssc = new JavaStreamingContext("local[2]", "JavaNetworkWordCount", new Duration(10000)); jssc.checkpoint(".");//使用updateStateByKey()函数需要设置checkpoint //打开本地的端口9999 JavaReceiverInputDStream<String> lines = jssc.socketTextStream("localhost", 9999); //按行输入,以空格分隔 JavaDStream<String> words = lines.flatMap(line -> Arrays.asList(SPACE.split(line))); //每个单词形成pair,如(word,1) JavaPairDStream<String, Integer> pairs = words.mapToPair(word -> new Tuple2<>(word, 1)); //统计并更新每个单词的历史出现次数 JavaPairDStream<String, Integer> counts = pairs.updateStateByKey((values, state) -> { Integer newSum = state.or(0); for(Integer i :values) { newSum += i; } return Optional.of(newSum); }); counts.print(); jssc.start(); jssc.awaitTermination(); }
相关文章推荐
- js获取PC浏览器可见区域尺寸
- 记一篇使用iframe需要翻阅的帖子
- jQuery对象data函数使用注意事项
- chrome插件推荐
- ServletContextListener 的使用。
- JScript基础
- maven教程
- Dalvik虚拟机的启动过程分析
- 《UNIX环境高级编程》学习笔记--第三章习题2参考答案
- 系统瓶颈的定位
- 6、java5线程池之固定大小线程池newFixedThreadPool
- Comparer<T> IComparer<T> IComparable<T>
- 计算几何入门题#1(点,线基本关系,点积叉积的理解)
- MFC打包程序(一)
- 修饰符 static extern const (转载)
- 自学QT之实现窗口分割QSplitter的使用
- windowsphone8.1学习笔记之Toast通知
- 我参与的一个项目的继续总结:技术篇
- run junit :java.lang.NoClassDefFoundError: org/junit/runners/model/MultipleFailureException
- 关于json数据解析