在流式光束流水线中,触发器设置为
Window.into(FixedWindows.of(Duration.standardHours(1)))
.triggering(AfterWatermark
.pastEndOfWindow()
.withEarlyFirings(AfterProcessingTime
.pastFirstElementInPane()
.plusDelayOf(Duration.standardMinutes(15))))
.withAllowedLateness(Duration.standardHours(1))
.accumulatingFiredPanes())
如果在早期射击(当前窗口的第一个元素之后15分钟)和水印之间没有新数据,那么水印末尾是否会再发射一次?
如果是,在相同情况下,如果accumulatingFiredPanes
更改为discardingFiredPanes
,水印末尾是否会再次触发?
答案 0 :(得分:1)
是。当水印通过窗口的末端时,应始终发射。早期的射击窗格将被标记为早期,水印窗格将按时标记。
是的,目前我们始终保证一个on_time窗格,这意味着水印末尾将会触发。
答案 1 :(得分:0)
对于#2,您可以将EMPTY MATRIX: [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
FINAL MATRIX: {(0, 0): 0, (0, 1): 2, (0, 2): 3, (1, 0): 4, (1, 1): 0, (1, 2): 6, (2, 0): 7, (2, 1): 8, (2, 2): 0}
You've retrieved row 0
0,2,3,
设置为Window.ClosingBehavior
的第二个参数。有两种变体: