zhangyang created FLINK-29167: --------------------------------- Summary: Time out-of-order optimization for merging multiple data streams into one data stream Key: FLINK-29167 URL: https://issues.apache.org/jira/browse/FLINK-29167 Project: Flink Issue Type: Improvement Components: API / DataStream Affects Versions: 1.14.2 Reporter: zhangyang Fix For: 1.14.2
Problem Description: I have many demand scenarios and need to combine more than 2 data streams (DataStreams) into one data stream. The business behind the data stream processing requires the time sequence of events to complete the scene requirements, so I use the union operator of flink to The confluence is completed, but the data after the confluence does not guarantee its original event time sequence. {code:java} dataStream0 = dataStream0.union(dataStreamArray); {code} Design suggestion: When designing the source code, you can merge into the stream in the order of the array in the dataStreamArray instead of random order. Solution suggestion: At present, I use windowAll to sort the data after the confluence in chronological order, and complete the overall scene realization, but the parallelism of windowAll can only be 1, which affects the performance of the entire directed acyclic graph. In addition, there are two confluence scene sorting scenes. I haven't thought of a good remedy, so I can only think that the union of the union is the sequence, which can save a lot of unnecessary trouble for the event-time stream merging. -- This message was sent by Atlassian Jira (v8.20.10#820010)