第二十六篇:Flink 中的聚合函数和累加器的设计和使用

本文介绍了 Flink 中的窗口函数,包括 ReduceFunction、AggregateFunction 和 ProcessWindowFunction,以及它们在窗口聚合中的应用。此外,还详细讲解了 Flink 累加器的使用,用于获取全局指标值,例如计数器的实现和使用案例。通过这篇文章,读者能够理解 Flink 中窗口聚合的实现方式和累加器的用途。
摘要由CSDN通过智能技术生成

你好,欢迎来到第 26 课时,本课时主要讲解 Flink 中聚合函数和累加器的设计和使用。

我们在第 08 课时中提到了 Flink 所支持的窗口和时间类型,并且在第 25 课时中详细讲解了如何设置时间戳提取器和水印发射器。

实际的业务中,我们在使用窗口的过程中一定是基于窗口进行的聚合计算。例如,计算窗口内的 UV、PV 等,那么 Flink 支持哪些基于窗口的聚合函数?累加器又该如何实现呢?

Flink 支持的窗口函数

我们在定义完窗口以后,需要指定窗口上进行的计算。目前 Flink 支持的窗口函数包含 3 种:

  • ReduceFunction 增量聚合
  • AggregateFunction 增量聚合
  • ProcessWindowFunction 全量聚合

最后还有一种 FlodFunction,但是在 Flink 1.9 版本后已经废弃,推荐使用 AggregateFunction 代替。

下面我们详细讲解以上 3 种窗口聚合函数的定义和使用。

ReduceFunction

ReduceFunction 基于两个类型一致的输入进行增量聚合,我们可以自定义 ReduceFunction 来增量聚合窗口内的数据。

可以这样定义自己的 ReduceFunction,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王知无(import_bigdata)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值