美文网首页flink
flink watermark生成,向前推进时钟

flink watermark生成,向前推进时钟

作者: Jaming | 来源:发表于2020-04-17 11:23 被阅读0次

    eventTime

    eventTime根据事件中的某个字段指定(assignTimestampsAndWatermarks)

    watermark

    watermark有两种生成方式:
    1、Periodic Watermarks
    周期性的触发watermark的生成和发送

    2、Punctuated Watermarks
    根据事件中的特殊关系生成和发送

    watermark推进---事件时间时钟

    flink内部算子都有一个接收数据分区和发送数据分区,每个接收数据分区对应上游的发送数据分区。
    当某一个分区的watermark到来的时候,会首先跟当前分区的watermark进行比较,取最大值并更新为当前分区的watermark。然后比较所有分区的watermark最小值,如果比当前的事件时间时钟大,则更新当前的事件时间时钟,向下游发送watermark。


    watermark.png

    如图:
    第一个分区当前watermark为3,当4来的时候跟3比,将当前的watermark更新为4,之后跟所有分区的当前watermark比,取最小的watermark,发现没有变化,所以不更新事件时间时钟。
    当第三个分区5来的时候,跟2比,然后将当前分区watermark更新为5,再比较当前分区所有watermark,最小值为4,比2大,将事件时间时钟更新为4,并向下游发送watermark为4。同时触发4之前的定时器。

    相关文章

      网友评论

        本文标题:flink watermark生成,向前推进时钟

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