3
将是有益的,如果有人给用例的例子来解释每一个水印API与Apache的之间的差弗林克下面给出水印中的Apache弗林克
- 周期水印 - AssignerWithPeriodicWatermarks [T]
- 间断水印 - AssignerWithPunctuatedWatermarks [T]
将是有益的,如果有人给用例的例子来解释每一个水印API与Apache的之间的差弗林克下面给出水印中的Apache弗林克
两种类型的水印之间的主要区别是如何/何时调用getWatermark
方法。
定期水印
随着周期性水印,弗林克在定期间隔调用getCurrentWatermark()
,独立的事件流的。该间隔使用
ExecutionConfig.setAutoWatermarkInterval(millis)
上的处理时间使用这个类当你的水印依赖(甚至部分)定义,或者当你需要的水印,即使没有事件/元素已经收到了,而发射。
间断水印
了间断水印,弗林克调用assignWatermark()
后立即调用checkAndGetWatermark()
每个新事件,即。仅当checkAndGetWatermark
返回大于最后一个水印的非空值时才会发出实际的水印。
这意味着如果您在一段时间内没有收到任何新元素,则不会发出水印。
如果某些特殊元素用作表示事件时间进度的标记,并且您希望在某些事件中专门发出水印,则可以使用此类。例如,您可以在传入流中标记标记序列的结尾。