Flink 中的 advanceToEndOfEventTime 标志
advanceToEndOfEventTime flag in Flink
我正在查看最近 API 的 JobClient,我在方法 stopWithSavepoint
中看到 advanceToEndOfEventTime
标志。如果我理解正确,这将导致工作,例如基于时间的刷新 windows。因此,如果我们从这个保存点开始,作业将从 windows 开始,没有任何元素。在我当前的用例中,我不认为这是可取的——在我们所有的应用程序中,在重启后恢复状态是至关重要的。我想知道它的用例是什么?
这会很有用的一种情况是您知道工作已完成,并且不会有任何进一步的输入。如果源都是有限的,比如文件,Flink 会自动将当前水印推进到 Watermark.MAX_WATERMARK
,然后停止作业。
但是对于可能无限的流媒体资源,这不会发生,即使它们是有界的——你想停止的工作只是坐在那里,等待更多的事件来处理(永远不会发生),并且保留您想要清除的最终结果集。 advanceToEndOfEventTime
选项可让您彻底关闭它。
我正在查看最近 API 的 JobClient,我在方法 stopWithSavepoint
中看到 advanceToEndOfEventTime
标志。如果我理解正确,这将导致工作,例如基于时间的刷新 windows。因此,如果我们从这个保存点开始,作业将从 windows 开始,没有任何元素。在我当前的用例中,我不认为这是可取的——在我们所有的应用程序中,在重启后恢复状态是至关重要的。我想知道它的用例是什么?
这会很有用的一种情况是您知道工作已完成,并且不会有任何进一步的输入。如果源都是有限的,比如文件,Flink 会自动将当前水印推进到 Watermark.MAX_WATERMARK
,然后停止作业。
但是对于可能无限的流媒体资源,这不会发生,即使它们是有界的——你想停止的工作只是坐在那里,等待更多的事件来处理(永远不会发生),并且保留您想要清除的最终结果集。 advanceToEndOfEventTime
选项可让您彻底关闭它。