什么是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
的变化做出反应,每次对process