如果我有这样的窗户
.apply(Window
.<String>into(Sessions
.withGapDuration(Duration.standardSeconds(10)))
.triggering(AfterWatermark
.pastEndOfWindow()
.withEarlyFirings(AfterPane.elementCountAtLeast(1))
.withLateFirings(AfterPane.elementCountAtLeast(1))));从Pub/Sub中接收3种元素。
它能保证窗口准确触发4次吗?
是否保证:
我看着Timing,上面写着:
ON_TIME窗格可能包含本地晚元素。它甚至可能只包含局部延迟的元素。如果一个本地晚元素找到了进入ON_TIME窗格的方法,那么它的延迟就变得不可观察。
因此,好的,ON_TIME窗格可以包含晚元素,但是ON_TIME会为ON_TIME窗格中的每个晚元素触发另一个窗格,还是这些元素不会触发,因为它们是ON_TIME窗格的一部分?
发布于 2016-03-10 17:32:15
元素仅是单个窗格中的“新”元素。假设没有空窗格,那么3个输入元素最多会导致3个输出窗格。使用该触发器,可能会有一个空的ON_TIME窗格。还可以通过指定ClosingBehavior来请求一个空的最后窗格。
如果晚元素进入ON_TIME窗格,它们将不会作为未来窗格的一部分重新触发(尽管如果您正在积累激发窗格,它们将继续被合并到结果中)。
https://stackoverflow.com/questions/35917424
复制相似问题