6.4 窗口允许迟到的数据

(1)迟到数据概念

迟到数据:时间戳 小于 watermark的数据

(2)窗口允许迟到
1) 当 wm >= 窗口最大时间戳时, 会 触发,但是不会关窗
2) 当 窗口最大时间戳 + 允许迟到时间 >= wm >= 窗口最大时间戳, 每来一条迟到数据,都会进入窗口,触发
3) 当 wm >= 窗口最大时间戳 + 允许迟到时间 , 会关窗, 迟到数据不再进入窗口,不会再触发
(3)代码

无序流watersensor、乱序程度=3、滚动事件窗口大小10s,传入sensor_1,1,1,此时会创建一个[0,10)的窗口,那么触发时间为watermark >= 窗口最大时间 - 1ms,那么watermark = 最大事件时间 - 乱序程度 - 1ms

所以事件时间=13s才会触发执行。

允许迟到时间=2s,所以[0,10)窗口会在[13s-15s)触发,15s会关闭窗口。

public class Flink18_Watermark_allowedLateness {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);env.socketTextStream("hadoop102", 9999).map(new MapFunction<String, WaterSensor>() {@Overridepublic WaterSensor map(String value) throws Exception {String[] dats = value.split(",");return new WaterSensor(dats[0],Long.valueOf(dats[1]),Integer.valueOf(dats[2]));}}).assignTimestampsAndWatermarks(WatermarkStrategy.<WaterSensor>forBoundedOutOfOrderness(Duration.ofSeconds(3)).withTimestampAssigner(new SerializableTimestampAssigner<WaterSensor>() {@Overridepublic long extractTimestamp(WaterSensor element, long recordTimestamp) {return element.getTs() * 1000L;}})).keyBy(sensor -> sensor.getId()).window(TumblingEventTimeWindows.of(Time.seconds(10)))//TODO 允许迟到时间2s.allowedLateness(Time.seconds(2)).process(new ProcessWindowFunction<WaterSensor, String, String, TimeWindow>() {@Overridepublic void process(String s, Context context, Iterable<WaterSensor> elements, Collector<String> out) throws Exception {out.collect("key=" + s + "\n" +"数据为:" + elements + "\n" +"数量条数:" + elements.spliterator().estimateSize() + "\n" +"窗口为:[" + context.window().getStart() + "," + context.window().getEnd() + ")\n" +"=======================================================================\n\n");}}).print();env.execute();}
}
(4)乱序程度(迟到时间)、允许迟到时间

①为什么不直接把乱序程度调大一点?

输出滞后的时间不一样: watermark >= 10s时触发 (不考虑1ms)1) 乱序3s,允许迟到2s  =>  et=13s的时候,触发输出一次结果(滞后3s),后面有迟到的数据,来一条,触发更新一次2) 乱序5s => et = 15s的时候,触发输出一次结果(滞后5s)

Flink窗口迟到机制相关推荐

  1. 大数据——Flink Window(窗口)机制

    Flink窗口机制 Window(窗口) Tumbling Window(翻滚窗口) Sliding Window(滑动窗口) Sliding Window(滑动窗口)设置Watermark时间 Wi ...

  2. Flink中迟到数据的处理

    目录 设置水位线延迟时间 允许窗口处理迟到数据 将迟到数据放入窗口侧输出流 总结:         我们知道,所谓的"迟到数据"(late data),是指某个水位线之后到来的数据 ...

  3. Flink的容错机制

    文章目录 检查点 检查点的保存 从检查点恢复状态 检查点算法 检查点配置 1.启动检查点 2.检查点存储 3.其他高级配置 保存点 1.保存点的用途 2.使用保存点 状态一致性 一致性的概念和级别 端 ...

  4. 【学习笔记 — Flink 处理迟到数据(★)】

    Flink 处理迟到数据(★) 处理迟到数据之前首先了解Lambda架构 Lambda架构的实现是:一个批处理器.一个流处理器.流处理器首先实时输出近似正确的结果(因为乱序流,可能导致流处理结果不准确 ...

  5. Flink窗口全解析:三种时间窗口、窗口处理函数使用及案例

    我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题.Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理.本文将 ...

  6. 【Flink】迟到数据的处理

    窗口 在流上的工作方式与批处理不同,因为流通常是无限的,所以不可能计算流中的所有元素,流上的聚合事件则由窗口限定,例如"过去 5 分钟的计数"或"最后 100 个元素的总 ...

  7. Flink对迟到数据的处理的三种方式

    ** Flink对迟到数据的处理 ** 水位线可以用来平衡计算的完整性和延迟两方面.除非我们选择一种非常保守的水位线策略(最大延时设置的非常大,以至于包含了所有的元素,但结果是非常大的延迟),否则我们 ...

  8. Flink中容错机制 完整使用 (第十章)

    Flink中容错机制 完整使用 一.容错机制 1.检查点(Checkpoint) 1. 检查点的保存 1. 周期性的触发保存 2. 保存的时间点 3. 保存的具体流程 2.从检查点恢复状态 (1)重启 ...

  9. 【Flink】 Flink JobManager HA 机制的扩展与实现

    1.概述 转载:Flink 源码阅读笔记(21)- Flink JobManager HA 机制的扩展与实现 在 Flink 1.12 中,Flink on Kubernetes 的 Native 部 ...

最新文章

  1. Linux 双网卡绑定测试
  2. c++内存,堆和栈的区别
  3. 修身论文2000字_软考论文怎么写
  4. 高效率学习Java编程提升自我
  5. Bailian2752 字符串数组排序问题【排序】
  6. 4、组件注册-自定义TypeFilter指定过滤规则
  7. 括号匹配算法Java实现
  8. 使用python调用百度ocr的API
  9. 点击次数(thinkphp)
  10. 【数据分析面试】大厂高频SQL笔试题(二)
  11. java基础12 IO
  12. ITIL框架结构剖析
  13. [渝粤教育] 盐城工学院 材料物理性能 参考 资料
  14. CSU_1505_酷酷的单词
  15. 用C++实现矩阵计算器
  16. 今年考研“不一般”,来看看这些现场
  17. 分布式事务实现原理【BAT 面试题宝库附详尽答案解析】
  18. 【软件测试】面试老约不到?软件测试简历项目经验怎么写?论项目经验的重要性......
  19. 用手机怎么查看网页的源代码0
  20. JQuery模板 :(六)JsViews - 基于JsRender并具有动态绑定功能的模板

热门文章

  1. JavaScript的基础教程
  2. 中兴oltc320用户手册_中兴C320C300V2版本OLT开局配置手册.doc-资源下载在线文库www.lddoc.cn...
  3. mstsc时报0x88错误,解决办法
  4. 思科模拟器|Cisco Packet Tracer v6.2 安装与汉化保姆级教程
  5. Altium Designer 第二课
  6. c++之SQLite的增删改查
  7. c语言sql语句大全,在C语言中嵌入SQL语句.doc
  8. Xamarin实现将图片设置为启动页——Xamarin.forms(二)
  9. 单个按键,实现单击+双击+长按
  10. 数学与生活 (远山启 著)