【发布时间】:2017-10-02 00:35:40
【问题描述】:
我们目前正在向 Cloud PubSub 发布有关来自 Google Cloud Storage 的 SFTP 到达的事件,我们可以轻松地实时处理这些事件,但是当我们尝试从 Google Cloud 读取 ZIP 文件时遇到了问题贮存。 Apache Beam 的 Python 端使其与 API 中的此类非常无缝,例如:
import apache_beam as beam
gcs = beam.io.gcsio.GcsIO()
而且这个接缝能够相对轻松地从谷歌云存储中提取文件,我想知道在 Java 版本中是否有与这个 python 版本等效的版本。很多文档都指向使用 MCR 中的 com.google.cloud:google-cloud-storage:1.6.0,我们之前已经这样做了,但与 python 版本相比,它感觉更加笨拙,并希望了解如何正确执行此操作。
提前致谢。
【问题讨论】:
-
您在使用 Beam Java 从 GCS 读取 ZIP 文件时遇到了什么具体问题? TextIO 自动解压 ZIP 文件;如果您需要更多自定义,请使用 FileSystems 类中的方法(实际上这也是 Python 中推荐的 API,而不是 GcsIO)。
-
我们正在将数据传送到云端,PubSub 告诉我们的管道数据要去哪里处理它。 ZIP 文件中的数据不是文本的(从技术上讲,2 个是),但其余的是图像和 pdf。 TextIO.read() 方法似乎只能返回 PCollection
标签: java python google-cloud-storage google-cloud-dataflow google-cloud-pubsub