Flink可以在非键控流上设置定时器吗?
ProcessAllWindowFunction
是一个不错的选择。但它无法扩大平行度。必须是1。
我正在寻找这样的非键控过程功能,可以设置定时器。
Flink的定时器仅在键控流程函数中可用。
这个问题的标准答案是继续对流进行键控,添加一个包含随机数的字段作为键(如果还没有合适的方法来实现键选择器(。
如果你不能忍受网络洗牌的费用,那么对于事件时间计时器,你可以实现一个自定义运算符,该运算符在其processWatermark
方法中实现你的逻辑。
如果你正在寻找处理计时器,你可以自己滚动。
您可以将keyBy(_ => None)
或keyBy((设为常量,但仍使用计时器