【问题标题】:How to set file type when using TextIO.write to Google Cloud Storage使用 TextIO.write 到 Google Cloud Storage 时如何设置文件类型
【发布时间】:2019-08-11 10:31:42
【问题描述】:

我编写了一个 DataFlow 管道,可以在 Google Cloud Storage 上输出一个小的 csv 文件。该文件的文件类型是text/plain,但我希望它是application/csv

这是我使用的代码

TextIO.write()
.to("gs://bucket/path/to/filename").withoutSharding()
.withSuffix(".csv")
.withDelimiter(new char[]{'\r','\n'})

如何指定文件类型,以便管道完成后文件类型为application/csv

【问题讨论】:

  • 请编辑问题以显示您是如何在 Cloud Storage 中创建文件的。

标签: google-cloud-storage google-cloud-dataflow


【解决方案1】:

TextIO 总是写内容类型 text/plain。这是在这里配置的。 https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/io/TextSink.java#L95

您可以选择更新已写入 GCS 的对象的内容类型。这可以在完成写入文件的 Dataflow 管道后使用 gsutil 工具完成。浏览此处获取更多信息。 https://cloud.google.com/storage/docs/gsutil/commands/setmeta

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 2020-02-28
    相关资源
    最近更新 更多