Apache flink 合并多个Flink数据流的最佳方法是什么?

Apache flink 合并多个Flink数据流的最佳方法是什么?,apache-flink,flink-streaming,stream-processing,Apache Flink,Flink Streaming,Stream Processing,我正在寻找最好的方法来合并多个>20个Flink流,这些流代表我们系统中不同事件的起源,它们都具有相同的类型 List<DataStream<Event>> dataStreams = ... 我最终希望得到一条流 DataStream<Event> merged; 有不同的管理方法:、coGroup、使用coGroup和union的map/flatMap。 我不确定它们中的哪一个将为我提供从原始流到合并流的事件的最快吞吐量。 此外,是否有一个操作符可以同

我正在寻找最好的方法来合并多个>20个Flink流,这些流代表我们系统中不同事件的起源,它们都具有相同的类型

List<DataStream<Event>> dataStreams = ...
我最终希望得到一条流

DataStream<Event> merged;
有不同的管理方法:、coGroup、使用coGroup和union的map/flatMap。 我不确定它们中的哪一个将为我提供从原始流到合并流的事件的最快吞吐量。 此外,是否有一个操作符可以同时用于所有流,或者我应该一次只调用每2个流

我希望得到一个流,然后将由userId字段键入,这有什么区别吗


另一方面,下一步是根据eventTimestamp对每个用户标识的每个窗口中的事件进行“排序”,以获得每个此类用户标识的事件的时间顺序。

如果事件具有相同的类型,我肯定会选择union,因为它是最简单和最简单的形式。另外,请注意,union将vararg作为参数,这基本上意味着您可以在一个调用中连接所有流

如果事件类型相同,我肯定会选择union,因为它是最简单的形式,也是最简单的形式。另外,请注意,union将vararg作为参数,这基本上意味着您可以在一个调用中连接所有流

DataStream<Event> merged;