gpt4 book ai didi

apache-flink - 能否在Flink中将and count和process time Trigger结合起来?

转载 作者:行者123 更新时间:2023-12-04 03:05:57 26 4
gpt4 key购买 nike

我想让 Windows 在滚动过程时间达到 100 后或每 5 秒完成一次?也就是说当元素达到100时,触发Windows计算,​​但是如果元素没有达到100,但时间过去了5秒,也会触发Windows计算,​​就像下面两个触发器的组合:

.countWindow(100)

.window(TumblingProcessingTimeWindows.of(Time.seconds(5)))

最佳答案

目前的 Flink API 没有 super 简单的方法来做到这一点。

您的用例需要状态(用于计数)和计时器的组合。您可以使用自定义 Trigger 在 Windows 中完成此操作,或使用 ProcessFunction .

对于 Windows 加自定义触发器的方法,查看 implementations ProcessingTimeTrigger 和 CountTrigger 的使用会很有帮助,因为您基本上想要混合这两者。

ProcessFunction 是一个较低级别的构建 block ,它将托管状态与计时器结合在一起,这正是您所需要的,所以这可能更容易,特别是如果您已经知道如何使用 Flink's managed state .

顺便说一句,online Flink training包括学习如何使用 ProcessFunctions 的 Material 。

关于apache-flink - 能否在Flink中将and count和process time Trigger结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44382329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com