flink实战-聊一聊flink中的聚合算子

2020-06-27 00:00:00 函数 方法 自定义 类型 聚合

这些内容都是自己在工作和学习中的一些学习总结,如果大家觉得有帮助,原创不易,希望帮忙点个赞,由于笔者水平有限,也难免有错误,也请大家不吝赐教,同时也欢迎关注我的微信公众号:[大数据技术与应用实战],一起成长。

  • 自定义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)

相关文章