一段时间后强制关闭会话窗口

时间:2020-06-05 08:48:11

标签: apache-beam dataflow

我的会话窗口为:

Window
            .into<KV<String, String>>(Sessions.withGapDuration(Duration.standardSeconds(5)))
            .withAllowedLateness(Duration.ZERO)
            .discardingFiredPanes()

我的数据流包含事件突发事件,每个突发事件都可以在几分钟之内到达。因此,任何当前打开的窗口都无法关闭,直到看到下一个铁锈来增加水印为止。

我发现了一种可以绕过此行为的方法:

.triggering(AfterProcessingTime.pastFirstElementInPane())

但是我得到了这个错误:

java.lang.IllegalArgumentException: Unsafe trigger may lose data, see https://s.apache.org/finishing-triggers-drop-data: AfterProcessingTime.pastFirstElementInPane().plusDelayOf(0 milliseconds)

还有另一种方法可以实现这种行为吗?

谢谢

0 个答案:

没有答案