flink实战-聊一聊flink中的聚合算子
这些内容都是自己在工作和学习中的一些学习总结,如果大家觉得有帮助,原创不易,希望帮忙点个赞,由于笔者水平有限,也难免有错误,也请大家不吝赐教,同时也欢迎关注我的微信公众号:[大数据技术与应用实战],一起成长。
- 自定义source
- 自定义聚合函数
- 自定义结果输出函数
- 主流程
前言
今天我们主要聊聊flink中的一个接口org.apache.flink.api.common.functions.AggregateFunction,这个类可以接在window流之后,做窗口内的统计计算。
注意:除了这个接口AggregateFunction,flink中还有一个抽象类AggregateFunction:org.apache.flink.table.functions.AggregateFunction,大家不要把这个弄混淆了,接口AggregateFunction我们可以理解为flink中的一个算子,和MapFunction、FlatMapFunction等是同级别的,而抽象类AggregateFunction是用于用户自定义聚合函数的,和max、min之类的函数是同级的。
原理解析
比如我们想实现一个类似sql的功能:
select TUMBLE_START(proctime,INTERVAL '2' SECOND) as starttime,user,count(*) from logs group by user,TUMBLE(proctime,INTERVAL '2' SECOND)
相关文章