Dav*_*son 7 apache-flink flink-streaming
我不确定我的 Flink 应用程序是否真的需要 Watermarks。什么时候需要它们?
如果我不需要它们,那么它们的目的是什么WatermarkStrategy.noWatermarks()?
Dav*_*son 10
时间t的水印标记数据流中的位置,并断言该流在该点现在已在时间t之前完成。
水印的唯一目的是触发基于事件时间的计时器的触发。
基于事件时间的计时器由KeyedProcessFunctionAPI 直接公开,也由 API 内部使用
不需要水印的常见情况包括仅依赖处理时间或进行批处理的应用程序。或者当处理具有时间戳的数据时,但从不依赖事件时间计时器(例如,简单的逐个事件处理)。
FLIP-27 引入的 Flink 新源接口确实需要WatermarkStrategy:
env.fromSource(source, watermarkStrategy, sourceName);
Run Code Online (Sandbox Code Playgroud)
如果您实际上不需要水印,则可以WatermarkStrategy.noWatermarks()在此界面中使用。
| 归档时间: |
|
| 查看次数: |
1216 次 |
| 最近记录: |