栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 其他

Flink 中 MaxOutOfOrderness 和 Allowedlateness 区别

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flink 中 MaxOutOfOrderness 和 Allowedlateness 区别

文章目录

前言

一、参数解释

1.MaxOutOfOrderness

2.Allowedlateness

二、区别说明

总结




前言

WaterMark参数MaxOutOfOrderness和窗口函数中的Allowedlateness参数区别


提示:以下是本篇文章正文内容,下面案例可供参考


一、参数解释

1.MaxOutOfOrderness
source.map(...//省略不必要代码)
      // 定义 watermark
      .assignTimestampsAndWatermarks(
            // 设置 watermark 比 事件时间晚 1s
            WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(1))
            // 定义 watermark 生成规则
            .withTimestampAssigner(...//省略不必要代码));

定义 watermark 的时候可以设置生成 watermark 的时间比事件时间延迟多久,即 eventTime + maxoutoforderness


2.Allowedlateness
dataStream.keyBy(...//省略不重要的代码)
    .timeWindow(Time.minutes(10), Time.seconds(5))
    // 定义窗口关闭的延迟时间
    .allowedLateness(Time.minutes(1))

定义 开窗函数 的时候可以设置生成 allowedLateness,当前窗口在watermark满足 windowEndTime 的时候,在延迟 allowedLateness 时间之后再关闭,即知道 watermark 到了 windowEndTime + allowedLateness 之后,当前窗口才关闭。


二、区别说明

1.MaxOutOfOrderness 作用于全局使用到事件事件的所有操作,包含定时器、窗口函数等。

2.Allowedlateness 只作用于事件事件的窗口函数,当 watermark通过窗口的终点时,一个事件时间窗口将被触发,在有一些允许的延迟的情况下,该窗口将在每个延迟事件到达时再次触发,直到允许的延迟过期为止(此触发行为可以自定义——这是默认设置)。一旦允许的延迟过期,窗口的状态将被清除,然后延迟事件要么被丢弃,要么被发送到一个侧面输出(如果配置了一个)。



总结

同时使用这两种机制是很有用的,因为您可以让窗口在 watermark定义的自然窗口结束时同时触发,并且在延迟事件到达时具有更新的结果。

watermark的目的是控制延迟和完整性之间的权衡。能够要求以较低的延迟(即相对较短的MaxOutOfOrderness)生成结果,同时适应非常晚的事件是很有用的。


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/279443.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号