以固定间隔处理JavaDStream

时间:2015-01-31 16:27:06

标签: java machine-learning apache-spark

我正在使用Apache Spark构建Stream Learning应用程序。我的应用程序需要定期处理流数据,但在这些间隔之前或之后,它可以让它通过而无需任何处理。所以,我对所有流项目都不感兴趣,但是其中一些项目以某些特定的时间间隔出现(至少对于训练部分)我无法弄清楚如何只处理流中的某些窗口而忽略其他窗口。

1 个答案:

答案 0 :(得分:1)

如果消息包含时间戳,那么解决此问题的方法是过滤与预期间隔匹配的“有趣”消息,并将其传递给Spark处理。

val dstream = ???
val targetStream = dstream.filter(msg => withinInterval(timestamp(msg))}
targetStream.forEachRDD(rdd => // do something with the filtered elements)