一.简介
时间信息和Watermark对很多流式应用至关重要,无法用DataStream API转换来访问它们。
DataStream API提供了一组相对底层的转换——处理函数。
除了基本功能,它们还可以访问记录的时间戳和水位线,并支持注册在将来某个特点时间出发计时器。处理函数的副输出功能还允许将记录发送到多个输出流中。
二.函数
Flink提供了8种不同处理函数:
- ProcessFunction:dataStream
- KeyedProcessFunction:用于KeyedStream,keyBy之后的流处理
- CoProcessFunction:用于connect连接的流
- ProcessJoinFunction:用于join流操作
- BroadcastProcessFunction:用于广播
- KeyedBroadcastProcessFunction:keyBy之后的广播
- ProcessWindowFunction:窗口增量聚合
- ProcessAllWindowFunction:全窗口聚合
通用方法
processElement(v:IN,ctx:Context,o