Flink ---窗口机制

小编 2026-06-07 阅读:1641 评论:0
背景   在流计算中,数据流是无限的,无法直接进行计算,因此Flink提出了window的概念(若干元素的集合)作为流计算的基本单元进行数据处理。 窗口机制   窗口机制实质上是Flink的算...

背景

  在流计算中,数据流是无限的,无法直接进行计算,因此Flink提出了window的概念(若干元素的集合)作为流计算的基本单元进行数据处理。

窗口机制

  窗口机制实质上是Flink的算子operator对数据流的处理过程:数据流如何被拆分成window,何时触发计算逻辑等,如下图所示。
处理过程: 当数据流中的元素到达算子operator后,首先由WindowAssigner决定将该元素分配到哪个窗口(包括创建窗口);每个窗口对应一个Trigger,当有新的元素插入或者定时器超时后,如果存在Evictor则通过它对窗口中的元素进行过滤;否则,直接调用窗口函数进行逻辑计算输出结果;
\"在这里插入图片描述\"

关键组件

  1. WindowAssigner
    作用:将流中的元素分配到对应窗口(零个或多个);

A WindowAssigner assigns zero or more Windows to an element;

  1. Window
    作用:若干元素的集合;
    创建:数据流的元素到达时由WindowAssigner分配和创建;

Generally speaking, a window defines a finite set of elements on an unbounded stream. This set can be based on time (as in our previous examples), element counts, a combination of counts and time, or some custom logic to assign elements to windows.

  1. Trigger
    作用:决定窗口何时被计算或清除;
    特点:每个窗口都绑定一个Trigger;
    触发时机:有新的元素插入或者Trigger上的定时器超时;
    执行动作:continue(不做任何操作),fire(处理窗口数据),purge(移除窗口和窗口中的数据),或者 fire + purge;

A Trigger determines when a pane of a window should be evaluated to emit the results for that part of the window.

  1. Evictor(可选
    作用:过滤窗口中的元素,相当于filter;
    执行时机:trigger后,window function后;

An Evictor can remove elements from a pane before/after the evaluation of WindowFunction and after the window evaluation gets triggered by a Trigger;

  1. Window Functions
    作用:具体的处理逻辑;

参考:

  1. 云邪博客:http://wuchong.me/blog/2016/05/25/flink-internals-window-mechanism/
  2. 官网:https://flink.apache.org/news/2015/12/04/Introducing-windows.html
版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表