news 2026/9/25 20:14:50

flink处理函数之KeyedProcessFunction

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
flink处理函数之KeyedProcessFunction

本文重点

在前面的课程中我们学习了最基本的ProcessFunction,本文我们学习最重要的KeyedProcessFunction。

KeyedProcessFunction

基于keyBy之后的KeyedStream,直接调用.process()方法,这时需要传入的参数就是 KeyedProcessFunction的实现类。

KeyedProcessFunction是继承AbstractRichFunction的一个抽象类,源码中定义如下:

public abstract class KeyedProcessFunction<K, I, O> extends AbstractRichFunction { ... public abstract void processElement(I value, Context ctx, Collector<O> out) throws Exception; public void onTimer(long timestamp, OnTimerContext ctx, Collector<O> out) throws Exception {} public abstract class Context {...} ... }

KeyedProcessFunction泛型有三个类型,K表示按键分区的键的类型,I表示输入类型,O表示输出类型。

ProcessFunction抽象类有两个方法,分别是:

processElement()

onTimer()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!