gpt4 book ai didi

java - 上传到谷歌云存储时输出数据以随机顺序出现

转载 作者:行者123 更新时间:2023-12-01 09:00:26 25 4
gpt4 key购买 nike

我一直在使用 google-dataflow-sdk 将 CSV 文件上传到谷歌云存储。当我将文件上传到谷歌云项目时,我的数据会以随机顺序出现在云上的文件中。 csv 上的每一行都是正确的,但行到处都是。

csv 的标题)即属性,属性,属性)始终在另一行,并且永远不会位于应该在的顶部。我再次强调,每一列的数据都很好,只是随机定位的行。

这是最初读取数据的代码:

PCollection<String> csvData = pipeline.apply(TextIO.Read.named("ReadItems")
.from(filename));

这是写入谷歌云项目的代码:

csvData.apply(TextIO.Write.named("WriteToCloud")
.to("gs://dbm-poc/"+partnerId+"/"+dateOfReport+modifiedFileName)
.withSuffix(".csv"));

感谢您的帮助。

最佳答案

首先,要修复您的 header 使用:

public static TextIO.Write.Bound<String> withHeader(@Nullable String header)

https://cloud.google.com/dataflow/java-sdk/JavaDoc/com/google/cloud/dataflow/sdk/io/TextIO.Write#withHeader-java.lang.String-

例如:

...
TextIO.Write.withHeader("<header>").apply(..)
...

其次,Dataflow 目前不支持对 Sinks 进行有序/排序写入。这很可能是由于其分布式/并行架构。如果您确实愿意,可以编写自己的自定义Sink。查看类似问题here了解更多详情。

关于java - 上传到谷歌云存储时输出数据以随机顺序出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com