You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "zhangyang (Jira)" <ji...@apache.org> on 2022/09/01 10:25:00 UTC
[jira] [Created] (FLINK-29167) Time out-of-order optimization for merging multiple data streams into one data stream
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)