Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Invalid
-
1.14.2
-
None
-
Important
Description
问题描述:
我有很多需求场景,需要进行3个以上的数据流(DataStream)进行合并成一条处理后面的业务,后面的业务对数据是有事件时间顺序要求,用flink的union的合完流之后就没有保证其原始的事件时间顺序
//dataStreamArray是有多个的
ataStream0 = dataStream0.union(dataStreamArray);
设计建议:可以按照可以源码中按照dataStreamArray中数组的顺序进行顺序合入流中,而不是随机顺序。
解决方案:目前使用windowAll对合流之后的数据进行了时间顺序排序,完成了整体场景实现,但是windowAll并行度只能是1,影响了整个有向无环图的性能。另外还有个排序场景还没有想到好的弥补方案,只能想union的合流是顺序就能给事件时间的流合并省去很多不必要的麻烦