什么是ProcessFunction
ProcessFunction是一个低层次的流处理操作,允许返回所有(无环的)流程序的基础构建模块:
- 事件(event)(流元素)
- 状态(state)(容错性,一致性,仅在keyed stream中)
- 定时器(timers)(event time和processing time, 仅在keyed stream中)
ProcessFunction可以认为是能够访问到keyed state和timers的FlatMapFunction,输入流中接收到的每个事件都会调用它来处理。
对于容错性状态,ProcessFunction可以通过RuntimeContext来访问Flink的keyed state,方法与其他状态性函数访问keyed state一样。
定时器允许应用程序对processing time和event time的变化做出反应,每次对processElement(...)的调用都会得到一个Context对象,该对
本文详细介绍了Flink的ProcessFunction,它作为低层次的流处理操作,提供事件、状态和定时器处理能力。ProcessFunction能访问keyed state和timers,用于处理keyed stream中的事件,并具有容错性。文章探讨了为何使用ProcessFunction,特别是在需要考虑事件时间戳和水位线的场景下。还列举了Flink提供的多种ProcessFunction类型,并通过一个实际案例展示了如何在业务场景中使用ProcessFunction实现数据趋势告警功能。
订阅专栏 解锁全文
517

被折叠的 条评论
为什么被折叠?



