Window Operations
可以设置窗口的大小和滑动窗口的间隔来动态的获取当前Steaming
的允许状态。基于窗口的操作会在一个比 StreamingContext
的批次间隔更长的时间范围内,通过整合多个批次的结果,计算出整个窗口的结果。
注意:所有基于窗口的操作都需要两个参数,分别为窗口时长以及滑动步长,两者都必须是 StreamContext 的批次间隔的整数倍。
窗口时长控制每次计算最近的多少个批次的数据,其实就是最近的 windowDuration/batchInterval
个批次。如果有一个以 10 秒为批次间隔的源 DStream,要创建一个最近 30 秒的时间窗口(即最近 3 个批次),就应当把 windowDuration
设为 30 秒。而滑动步长的默认值与批次间隔相等,用来控制对新的 DStream
进行计算的间隔。如果源 DStream
批次间隔为 10 秒,并且我们只希望每两个批次计算一次窗口结果, 就应该把滑动步长设置为 20 秒。
// Reduce last 30 seconds of data, every 10 seconds