【发布时间】:2018-05-25 09:50:00
【问题描述】:
在流束流水线中,触发器设置为
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,水印末尾会不会再触发一次?
【问题讨论】:
-
释义 (1),当使用
accumulatingFiredPanes时,Beam 会触发与水印后再次触发的完全相同的窗格吗? -
加一个3,如果指定
.withOnTimeBehavior(Window.OnTimeBehavior.FIRE_IF_NON_EMPTY),前面问题的答案会改变吗?此 API 注释为@Experimental。我不确定它是否有任何实际效果。
标签: google-cloud-platform google-cloud-dataflow apache-beam