Flink 窗口函数

函数举例聚合原理使用举例小结
增量窗口函数
ReduceFunction AggregateFunction
窗口内保存一个中间聚合结果,随着新元素的加入,不断对该值进行更 新。好处是节省空间

使用keyBy的情况举例:

window(...)

.keyby(_._1)

.aggregate(new AggregateFunction{

        ...

},new keyedProcessFunction{

      ...  

})

增量窗口函数和全量窗口函数经常会结合在一起使用,先用增量窗口聚合,最后在全量窗口把汇总的结果输出

不使用keyBy的情况举例:

timeWindowAll(...)

. process ( new  ProcessAllWindowFunction{
        ...
})
ReduceFunction输入的元素和输出的元素类型需要一致;AggregateFunction的输入类型和输出类型可以不一致
全量窗口函数
ProcessWindowFunction 、WindowFunction(使用keyBy), ProcessAllWindowFunction(不使用keyBy)
收集窗口内的所有元素,并且在执行的时候对他们进行遍历。这种聚合函数通常需要占用更多的空间(收集一段时间的数据并且保存),但是它可以支持更复杂的逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值