У меня есть 2 потока событий, один из которых является результатом flatmap
.Я хочу присоединиться ко всем событиям, которые имеют общий идентификатор.
Таким образом, у меня есть нечто, похожее на:
DataStream<TypeA> streamA = ...
DataStream<TypeB> streamB = someDataStream.flatMap(...) // produces stream of TypeB for each item in someDataStream
И у TypeA
, и у TypeB
общий идентификатор, и я знаю, какмного TypeB
объектов есть в родительском объекте.Я хочу выполнить некоторую обработку, когда все события, связанные с определенным идентификатором, поступили, т.е. когда я в основном могу создать Tuple3<id, TypeA, List<TypeB>>
объект.
Лучше ли это делать с WindowJoin
и GlobalWindow
, Window CoGroup
и GlobalWindow
или путем соединения 2 потоков в ConnectedStream
с последующим выполнением соединения внутри CoProcessFunction
?