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