我对Flink应用程序中水印的传播有一些疑问。我在文档和一些帖子中看到Flink选择最低的水印通过运算符传播。我不明白在某些情况下这是如何工作的。我有一个小用例可以轻松理解我的问题。
我使用的是Flink 1.15.2。我有两个来源:
First message:
Source One -----> 10
one.union(two) ----> watermark propagated is it 9?
Source two -----> 9
Second message:
Source One -----> 12
one.union(two) ----> watermark propagated is it 11 or 9?
Source two -----> 11
Third message (Let's assume that Source two has a very small delay)
Source One -----> 15
one.union(two) ----> watermark propagated is it 13 or other value?
Source two --> 13
字符串
我将感谢一些帮助来理解这一点。
Thanks in advance
1条答案
按热度按时间xkrw2x1b1#
假设在这个例子中,水印是为每个事件生成的,并且没有out-of-orbit,那么被传播的水印将是9、11和13。