【发布时间】:2016-01-02 14:33:50
【问题描述】:
我正在使用 Scala 编写一个 Spark 流应用程序,我的目标是每秒读取一次 Twitter 提要,以计算在 60 秒的窗口内转发次数最多的状态。
我在概念上想要的是在滑动窗口结束时获取状态的转发次数,并在其开始时从等效数字中减去它,以便找到编号。窗口内的转推。相关的代码行是:
val counts = tweets.filter(_.isRetweet).map { status =>
(status.getText(), status.getRetweetedStatus().getRetweetCount())
}.reduceByKeyAndWindow(*function*, Seconds(60), Seconds(1))
所以,我的问题是我应该在这里使用什么函数来达到预期的结果,即获取getRetweetCount() 在窗口内返回的最大值并从中减去最小值。
【问题讨论】:
标签: scala twitter twitter4j spark-streaming