1

在此处输入图像描述上面的参考架构表明存在来自 Cloud Dataflow 的 Cloud Storage sink,但是似乎是当前默认 Dataflow API 的 Beam API 没有列出 Cloud Storage I/O 连接器。

在此处输入图像描述

任何人都可以帮助澄清是否存在,如果不存在将数据从 Dataflow 带到云存储的替代方法。

4

2 回答 2

4

Beam 确实支持从 GCS 写入/读取。您只需使用这些TextIO类。

https://beam.apache.org/documentation/sdks/javadoc/0.2.0-incubating/org/apache/beam/sdk/io/TextIO.html

要从一个或多个文本文件中读取 PCollection,请使用 TextIO.Read。您可以使用 TextIO.Read.from(String) 实例化转换以指定要读取的文件的路径(例如,如果在本地运行,则为本地文件名或文件名模式,或者Google Cloud Storage 文件名或文件名模式形式“gs:///”)。

于 2017-03-03T10:47:04.197 回答
1

您可以使用 TextIO、AvroIO 或任何其他读取/写入文件的连接器与 GCS 交互。Beam 将任何以“gs://”开头的文件路径标识为用于 GCS。Beam 使用可插入的 FileSystem [1] 接口来执行此操作。

[1] https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/storage /GcsFileSystem.java

于 2017-03-03T18:17:08.020 回答