Window Join 可以方便地对两个数据流进行关联操作。但有些使用场景中,我们需要的并非关联操作,ConnectedStreams
提供了更为通用的双流操作。
ConnectedStreams
配合 CoProcessFunction
或 KeyedCoProcessFunction
使用,KeyedCoProcessFunction
要求连接的两个 stream 都是 KeyedStream
,并且 key 的类型一致。
ConnectedStreams
配合 CoProcessFunction
生成 CoProcessOperator
,在运行时被调度为 TwoInputStreamTask
,从名字也可以看书来,这个 Task 处理的是两个输入。TwoInputStreamTask
在前面关于 Task 的生命周期的文章中已经进行了介绍。我们简单看一下 CoProcessOperator
的实现: