我在Google Cloud DataFlow中有一个PCollection<String>,我将它通过TextIO.Write.to输出到文本文件:
PCollection<String>
TextIO.Write.to
PCollection<String> lines = ...; lines.apply(TextIO.Write.to("gs://bucket/output.txt"));
目前,每个输出分片的行是随机顺序的。
是否可以让Dataflow按排序顺序输出行?
Dataflow不直接支持此功能。
对于有界的PCollection,如果你对输入进行了很好的分析,那么你可以使用Sink实现编写已排序的文件,对每个分片进行排序。您可能需要参考TextSink实现的基本概要。
PCollection
Sink
TextSink