如何处理火花流中窗口中任何时间间隔的数据?

时间:2016-02-02 08:19:31

标签: apache-spark spark-streaming

请看下面的图片:

enter image description here

在窗口中有'time1''time2''time3',我是否只能处理'time2' 并过滤其他'时间'(丢弃'time1','time3')?

1 个答案:

答案 0 :(得分:0)

如果您只想一次处理一个Dstream数据,请不要使用窗口函数。 Windows通过将多个Dstream组合在一起然后处理数据来工作。

您可以在'time1'处理数据,然后当'time2'进入时,您可以只处理该数据。好像你根据描述过分复杂了你想要做的事情。

一个例子:

yourDStream = //your reciever
yourDStream.map(...).foreach(//save somewhere)

上面的代码只会将您的转换应用于当前的Dstream。通过应用窗口,您可以告诉火花将多个dstream聚合在一起。如果您不使用窗口功能,那么您不必担心从窗口中丢弃数据。