public void flatMap(String value, Collector<Tuple2<String, Integer>> out) {
for (String word : value.split("\\s")) {
out.collect(Tuple2.of(word, 1));
}
}
})
.keyBy(0)
.timeWindow(Time.seconds(5))
.sum(1);
// 将结果打印到控制台,留意这里运用的是单线程打印,而非多线程
windowCounts.print().setParallelism(1);
env.execute("Socket Window WordCount");
}
}
运转顺序
要运转示例顺序,首先我们在终端启动 netcat 取得输入流:
nc -lk 9000
假设是 Windows 平台,可以经过 https://nmap.org/ncat/ 安装 ncat 然后运转:
ncat -lk 9000
然后直接运转SocketWindowWordCount的 main 办法。
只需求在 netcat 控制台输入单词,就能在 SocketWindowWordCount 的输入控制台看到每个单词的词频统计。假设想看到大于1的计数,请在5秒内重复键入相反的单词。
【编辑引荐】
微软能够是全球最大的开源贡献者, 但开发者似乎并不买账
前端如何高效的与后端协作开发
马化腾:明年将推VR版微信 正在开发阶段
开发者调查显示他们对 Python 和 Go 十分称心
SDKMAN:轻松管理多个软件开发套件 (SDK) 的命令行工具
(责任编辑:admin)