flink总结笔记之窗口

本文详细介绍了Flink中的窗口概念,包括窗口的生命周期、keyby与nokeyby的区别、窗口的组成元素如assigner、windowfunction、trigger、evictor以及allowedLateness。重点讨论了各种窗口类型、触发器的工作原理和数据处理策略,并提到了side output的概念,用于捕获迟到数据。
摘要由CSDN通过智能技术生成

什么是窗口?

流相当于一条永不停机的生产流水线, 窗口则是一个闸门,拦住囤积生产的商品,定时或者囤积到一定数量释放一次.

窗口生命周期

  1. 创建: 第一个属于该窗口的时间出现
  2. 结束: 第一个超过该窗口时间范围(包括延迟时间)的时间出现
  3. 存活时间: 窗口的范围,比如统计5分钟 + 允许的延迟时间,比如2分钟=7分钟

keyby和nokeyby

  • 按key分组,相同key发送到相同task中,可以并行处理
  • 未按key分组,所用数据发送到同一个,无法并行处理

窗口组成

assigner

决定数据发送到哪个窗口

内置的时间窗口assigner:

  1. tumbling windows
  2. sliding windows
  3. session windows
  4. global windows(使用时,需要自定义trigger,不然不会触发释放内容)

windowfunction

窗口方法. 当窗口中的数据积攒到需要触发时,怎么处理数据,比如计数,求和等,也就是聚合函数.

  • 聚合函数,来一条和之前的数据累加计算,实时处理

  • 常用方法:

    • ReduceFunction: 合并两条输入数据,输入和输出格式相同

    • AggregateFunction: reducefunction的一般式.更灵活,可自定义聚合中间过程,和不一样的输

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值