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

大数据(9e)图解Flink窗口

大数据(9e)图解Flink窗口

文章目录
  • 1、窗口的分类
    • 1.1、基于时间的窗口
    • 1.2、基于事件个数的窗口
  • 2、时间语义
  • 3、WaterMark(水位线)
    • 3.1、WaterMark策略
    • 3.2、WaterMark与窗口
  • 4、其它

1、窗口的分类
  • 将 无界限的 数据 切分为 有界限的 数据
  • https://yellow520.blog.csdn.net/article/details/121288240
1.1、基于时间的窗口

基于时间的滑动窗口

.window(SlidingProcessingTimeWindows.of(Time.seconds(6),Time.seconds(3)))

基于时间的滚动窗口

.window(TumblingProcessingTimeWindows.of(Time.seconds(3)))

基于时间的会话窗口

.window(ProcessingTimeSessionWindows.withGap(Time.seconds(2)))

基于时间的全局窗口

.window(GlobalWindows.create())
1.2、基于事件个数的窗口

基于事件个数的滑动窗口

.countWindow(4,3)

基于事件个数的滚动窗口

.countWindow(4)
2、时间语义

时间语义直译说明
Event Time时间时间事件发生的时间
Process Time处理时间事件发生后,进入到程序(窗口)

事 件 时 间 < 处 理 时 间 事件时间<处理时间 事件时间<处理时间

3、WaterMark(水位线)
  • WaterMark,可译为水位线,用来标记水流的事件时间进度
  • WaterMark作为数据流的一部分在流动,并且携带一个时间戳t
    WaterMark(t)表示流的事件时间已经到达t,后续数据的事件时间应当大于t

有序流中的水印

乱序流中的水印

W(t)表示流的事件时间已经到达t,后续不应出现时间时间小于t的数据

3.1、WaterMark策略

3.2、WaterMark与窗口
  1. WaterMark触发窗口计算
  2. 窗口允许迟到的数据
  3. 侧输出流(sideOutput):处理关窗之后到达的数据

  • W a t e r M a r k ≥ 窗 口 结 束 时 间 WaterMark ge 窗口结束时间 WaterMark≥窗口结束时间 ,会触发窗口计算
  • 窗 口 结 束 时 间 < W a t e r M a r k < ( 窗 口 结 束 时 间 + 允 许 迟 到 时 间 ) 窗口结束时间 lt WaterMark lt (窗口结束时间 + 允许迟到时间) 窗口结束时间
  • W a t e r M a r k ≥ ( 窗 口 结 束 时 间 + 允 许 迟 到 时 间 ) WaterMark ge (窗口结束时间 + 允许迟到时间) WaterMark≥(窗口结束时间+允许迟到时间) ,会关闭窗口
4、其它
窗口函数窗口关闭时,窗口函数就去处理窗口中的每个元素
ReduceFunction增量处理,高效
AggregateFunction增量处理,高效
ProcessWindowFunction函数执行前要在内部缓存窗口上所有的元素,低效
Keyed vs Non-Keyed Windows比较
keyed streams上使用窗口non-keyed stream上使用窗口
non-keyed stream上使用窗口并行度=1

多并行度下WaterMark的更新和传递

从所有分区中取事件时间最小的WaterMark来广播WaterMark

encn
watermarkˈwɔːtərmɑːrkn. 水印;水位标志;vt. 在……上印水印(图案)
gapɡæpn. 缝隙,缺口;(时间上的)间隔
tumblingˈtʌmblɪŋn. 翻腾运动
tumbleˈtʌmblv. 翻滚;n. 跌倒,滚落;(数量、价值)暴跌;混乱,杂乱;翻跟头
in order按顺序
out of order次序颠倒
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/663705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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