【问题标题】:How to read a zip file off of Google Cloud Storage如何从 Google Cloud Storage 中读取 zip 文件
【发布时间】: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


【解决方案1】:

FileSystems API 支持您的用例。请参阅FileIO 的实现以了解其用法的一些示例;您可能想从中借用更多模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-22
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多