Flink keyBy及后续算子的Watermark推进与定时器触发问题
Flink Watermark 与定时器触发问题解答
问题1:未接收任何数据的P2、P3、P4,其event time是否会推进?
不会推进。
P2、P3、P4各自负责处理的KG26KG50、KG51KG75、KG76~KG100均无新数据流入,对应的逻辑流没有新的Watermark向下传递。根据规则,消费多流的算子当前Watermark取所有输入流Watermark的最小值,因此这三个subtask的有效Watermark始终停留在下午5点,event time不会推进。
问题2:P1中KG2至KG25对应的已注册定时器,在对应key group无新数据流入的场景下是否会触发?
不会触发。
虽然KG1有新数据流入、对应逻辑流的Watermark持续推进,使得KG1下注册的定时器可以正常触发,但KG2~KG25没有新数据流入,对应逻辑流的Watermark始终停留在下午5点。P1的有效Watermark取其负责的25个key group对应逻辑流的Watermark最小值,因此始终无法超过下午5点,KG2~KG25下注册的触发时间晚于5点的定时器永远无法满足触发条件,不会被触发。
内容的提问来源于stack exchange,提问作者Gaurav Kumar
相关产品推荐
相关产品推荐

