为什么流的顺序与原始文件不同?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么流的顺序与原始文件不同?相关的知识,希望对你有一定的参考价值。
我正在尝试测试如下的简单flink代码。原始数据集的序列是 1,2,3,4
.
读取文件后,流的顺序是 "1,4,2,3"。而且,每次测试的顺序都不一样。
如何修正输入数据集的顺序,使之与原来的上下文相同?
下面是我的simpel代码。
DataStreamSource<Integer> integerDataStreamSource = env.fromElements(1, 2, 3, 4);
integerDataStreamSource.print();
答案
输出流的顺序是非决定性的,因为打印汇流是并行运行的,这些并行实例之间是相互竞争的。如果您想避免这种情况,可以将整个作业或打印汇流操作者的并行度设置为1。
env.setParallelism(1);
DataStreamSource<Integer> integerDataStreamSource = env.fromElements(1, 2, 3, 4);
integerDataStreamSource.print();
以上是关于为什么流的顺序与原始文件不同?的主要内容,如果未能解决你的问题,请参考以下文章