描述
- 对一个窗口中的同个key的所有数据进行批量处理
- context.window提供了对窗口属性的访问,如context.window.getStart访问窗口的左开区间,context.window.getEnd访问窗口的右闭区间
- context提供了对时间属性的访问
- context提供了对状态的访问
- context提供了侧流输出
- 使用out对象进行主流输出
用法
class MyProcessWindowFunc extends ProcessWindowFunction[输入类型, 输出类型, Key类型, 窗口类型(分为TimeWindow、GlobalWindow、Window三类)] {
override def process(key: Key类型, context: Context, elements: Iterable[输入类型], out: Collector[输出类型]): Unit = {
// key:数据的Key
// context:上下文环境对象
// elements:一个窗口中同个key的所有数据
// out:提供主流输出的对象
...
}
}