美文网首页
flink watermark

flink watermark

作者: 听海吹牛逼的声音 | 来源:发表于2020-09-02 08:45 被阅读0次

    Flink WaterMark 详解

    1. watermark是全局的值,但是每个operator维护一个当前的watermark,多流的时候取最小。
    2. watermark》= window end,而且window内有数据才fire。

    https://ci.apache.org/projects/flink/flink-docs-stable/dev/event_timestamps_watermarks.html#watermark-strategies-and-the-kafka-connector
    watermark会在operator触发了windows,产生了的数据都emit出去之后,才会接着emit这个watermark。

    https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/event_timestamps_watermarks.html#writing-a-punctuated-watermarkgenerator

    image.png
    要理解watermark是全局的话。
    下面的那个图一定要看懂,黄色小块是当前operator的watermark。在跑的那些白色是数据。
    Source(1)的两个流wm只取小的。Source(2)同理。
    Window(1)14,29取小的,所以右上角也是14.
    Map(2)17的watermark刚刚被处理过,所以emit出去两个下游W(17)这个watermark。
    watermark并不会阻碍数据流动,但是在window function里面会积累到trigger这个windows。

    https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/operators/windows.html#default-triggers-of-windowassigners
    default的assigner是依赖这个wm来trigger windows,但是还有其他乱七八糟的trigger方式。可以多看看。

    相关文章

      网友评论

          本文标题:flink watermark

          本文链接:https://www.haomeiwen.com/subject/tylisktx.html