Apache Flink:何时会触发最后一个水印(由“ Long.MaxValue”值确定)?以及如何处理?

时间:2018-07-27 07:18:11

标签: apache-flink flink-streaming

我想确切知道

  • 何时将水印值设置为Long.MaxValue? (在取消SourceFunction时?通过cli&web-panel取消作业?...)

  • 对于应用程序意味着什么? (工作结束?工作失败?没有重新开始?)

  • 如何处理? (清除所有状态?计时器如何?正如我所见,在此状态上注册新计时器将使应用程序永远运行!如果我应该能够将状态保留在上一个水印中,以便在以后的时间/运行中从中恢复,我应该如何保持计时器状态?)

1 个答案:

答案 0 :(得分:0)

当您的SourceFunction退出run方法时,将发出最后一个水印,这表示您已经消耗了所有输入。

鉴于此,您无需清除,因为一旦水印到达所有接收器,作业将被标记为完成。