如果我实现了一个可以访问窗口的DoFn,并且PCollection被转换的副条件已经应用了一些非全局窗口策略,即FixedWidows
我保证得到IntervalWindow
}?
答案 0 :(得分:4)
FixedWindows
,是的。一般来说,没有。唯一的一般保证是您获得BoundedWindow
。目前,SDK(FixedWindows
,SlidingWindows
,Sessions
)提供的所有非全局窗口都使用IntervalWindow
。但是,使用仅使用BoundedWindow
s的非全局窗口策略是完全合法的。
答案 1 :(得分:2)
是。 window()
方法返回当前WindowFn
放置元素的任何窗口类型。因此,对于FixedWindows
,这将始终返回IntervalWindow
。
它也将始终返回单个窗口。因此,如果您使用SlidingWindows
并将每个元素放入5个不同的窗口,则每个processElement()
注释DoFn
的{{1}}将被调用一次放置元素的窗口(每个元素都有5次)。