flink窗口

1. 滑动窗口:适用场景:每隔多长时间计算最近多长时间内的统计结果

2. 滚动窗口:适用场景:每隔一小时,计算前一小时的统计结果

3. 会话窗口

水位线:forBoundedOutOfOrderness:乱序程度

还可分为keywidow和nokeywindow

keywidow(每一个窗口都有自己的key,key是一样的):调用widow函数进行聚合,aggregate算子和reduce算子和max等

nokeywindow:调用windowAll进行

aggregate算子和reduce算子的区别:

         1)他们都是窗口函数,都是在划分窗口之后才会调用的函数,并且都是增量聚合函数,增量聚合函数就是窗口每来一条数据就进行聚合。全量聚合函数是,窗口的数据都到了之后才进行聚合

  • reduce(reduceFunction)
  • aggregate(aggregateFunction)
  • sum() 底层是ruduce
  • min()底层是ruduce
  • max()底层是ruduce

      reduce算子增量聚合实现方式都是,ruducefuction负责实时聚合,窗口触发后会使用prosseswindfunction使用ruducefuction的结果。

aggregate算子的增量聚合方式是:aggregateFunction和prosseswindfunction

           2)他们的区别在于,aggregate的输入类型值,中间结果值,返回结果值可以是三种类型的数据,但是reduce只能是输入类型相同和输出是统一类型的数据

4. 窗口中如果设置的水位线无乱序程度,但是窗口设置有允许迟到时间,当数据超过允许迟到的时间后,再进行侧流输出,sideoutputlatebate

5. 伪代码模式

注册水位线:提取时间字段和乱序程度

调用key或者不调用keyby,去分开是那种窗口

再去调用滑动或者滚动窗口

再去窗口是否允许迟到时间

再去调用窗口的触发(设置自定义触发器需要自定义定时器)

再去调用窗口的清除

再去调用窗口的迟到数据是否侧流输出

再去调用具体的窗口计算逻辑,聚合算子或者apply或者poross方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值