当前位置: 首页 > news >正文

Flink中的时间和窗口

1.Flink的时间和窗口

在传统的批处理系统中,我们可以等到一批数据全部都到齐了之后,对其做相关的计算;但是在实时处理系统中,数据是源源不断的,正常情况下,我们就得来一条处理一条。那么,我们应该如何统计某个实时数据源中最近一段时间内的数据呢?
在Flink的观念中,引入了“窗口”的概念。所谓的“窗口”,一般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的窗口计算。所以窗口和时间往往是分不开的。

2.正确的理解窗口

简单来说,Flink是一个流式计算引擎,主要用来处理无界数据流的,数据源源不断、无穷无尽,想要方便高效的处理这种无界数据流,一种方式就是将这种无界数据划分为多个有界的"数据块",这其实就是窗口(Window)。
Flink中的窗口并不是提前创建好了的,而是动态创建的,当有落在这个窗口区间范围 的数据达到时,才创建对应的窗口。另外,这里我们认为到达窗口结束时间时,窗口就触发计算并关闭,事实上“触发计算”和“窗口关闭”两个行为也可以分开。
在这里插入图片描述

3.窗口的分类

1)按照驱动类型分
窗口本身是截取有界数据的一种方式,所以窗口一个非常重要的信息其实就是“怎样截取数据”。换句话说, 就是以什么标准来开始和结束数据的截取,我们把它叫作窗口的“驱动类型”。
(1)时间窗口(Time Window)
时间窗口以时间点来定义窗口的开始(start)和结束(end),所以截取出的就是某一时间段的数据。到达结束时间时,窗口不再收集数据,触发计算输出结果,并将窗口关闭销毁。
(2)计数窗口(Count Window)
计数窗口基于元素的个数来截取数据,到达固定的个数时就触发计算并关闭窗口。每个窗口截取数据的个数, 就是窗口的大小。
在这里插入图片描述
通过上面的图我们可以看到,时间窗口的时间固定,计数窗口的计数固定。

http://www.lryc.cn/news/189348.html

相关文章:

  • Ultra-Fast-Lane-Detection 车道线学习资料整理
  • 【Ubuntu】Ubuntu18.04终端卡顿问题
  • k8s强制删除pod、svc、namespace(Terminating)
  • froeach迭代删除和List迭代删除问题
  • chromedriver下载地址
  • 2ED2410-EM:12v / 24v智能模拟高侧MOSFET栅极驱动器
  • 什么是Fetch API?与传统的AJAX相比,有什么优势?
  • 43.241.18.123哪些问题会导致服务器里面时间错误
  • 【ElasticSearch】更新es索引生命周期策略,策略何时对索引生效
  • 卫星/RedCap/高算力/解决方案/创新金奖……移远通信为IOTE 2023再添新活力
  • N9030B是德科技信号分析仪
  • Mysql索引原理
  • apifox的使用以及和idea集成
  • css:过渡transition 、转换transform、动画animation
  • 双边滤波算法及例程
  • 排序算法-希尔排序法(ShellSort)
  • 交通物流模型 | 基于自适应图卷积网络的轨道交通短时客流预测
  • 2.1python 常用的三种数据类型_python量化实用版教程(初级)
  • C++游戏后端开发(魔兽世界,MMO,TrinityCore源码拆解) 教程
  • MySQL 之 死锁日志的查看和分析
  • Docker运行docker中指定一个jar
  • nodejs+vue家教管理系统
  • vuex入门
  • 交叉熵Loss多分类问题实战(手写数字)
  • 如何看待Unity新的收费模式?(InsCode AI 创作助手)
  • Android Studio git 取消本地 commit(未Push)
  • ViewModifier/视图修饰符, ButtonStyle/按钮样式 的使用
  • 科技资讯|微软AR眼镜新专利曝光,可拆卸电池解决续航焦虑
  • idea系列---【上一次打开springboot项目还好好的,现在打开突然无法启动了】
  • 查询资源消耗