如果我应用了一个固定的窗口,我总是从`window()`得到一个IntervalWindow

时间:2015-05-30 18:30:48

标签: google-cloud-dataflow

如果我实现了一个可以访问窗口的DoFn,并且PCollection被转换的副条件已经应用了一些非全局窗口策略,即FixedWidows我保证得到IntervalWindow }?

2 个答案:

答案 0 :(得分:4)

FixedWindows,是的。一般来说,没有。唯一的一般保证是您获得BoundedWindow。目前,SDK(FixedWindowsSlidingWindowsSessions)提供的所有非全局窗口都使用IntervalWindow。但是,使用仅使用BoundedWindow s的非全局窗口策略是完全合法的。

答案 1 :(得分:2)

是。 window()方法返回当前WindowFn放置元素的任何窗口类型。因此,对于FixedWindows,这将始终返回IntervalWindow

它也将始终返回单个窗口。因此,如果您使用SlidingWindows并将每个元素放入5个不同的窗口,则每个processElement()注释DoFn的{​​{1}}将被调用一次放置元素的窗口(每个元素都有5次)。