1.概述
KeyedProcessFunction用来操作KeyedStream。
KeyedProcessFunction会处理流的每一个元素,输出为0个、1个或者多个元素。
所有的Process Function都继承自RichFunction接口,所以都有open()、close()和getRuntimeContext()等方法。
而KeyedProcessFunction[KEY, IN, OUT]还额外提供了两个方法:
processElement(v: IN, ctx: Context, out: Collector[OUT])
, 流中的每一个元素都会调用这个方法,调用结果将会放在Collector数据类型中输出。Context可以访问元素的时间戳,元素的key,以及TimerService时间服务。Context还可以将结果输出到别的流(side outputs)。onTimer(timestamp: Long, ctx: OnTimerContext, out: Collector[OUT])
是一个回调函数。当之前注册的定时器触发时调