【问题标题】:Can we access gsutil from Google Cloud Dataflow? if yes, then could someone please explain with example?我们可以从 Google Cloud Dataflow 访问 gsutil 吗?如果是,那么有人可以举例说明吗?
【发布时间】:2017-12-26 05:52:59
【问题描述】:

我是谷歌云数据流的新手,我需要将 GCS(谷歌云存储)中的文件从一个存储桶复制到另一个存储桶并重命名。以示例回答将不胜感激。

【问题讨论】:

    标签: google-cloud-datastore google-cloud-dataflow gsutil


    【解决方案1】:

    技术上是的,您可以这样做,但如果您使用 Dataflow 来获取文件并将它们移动到新存储桶而不是作为 gustil 的包装器,那会更好。

    你需要的类应该是 beam.io.gcsio.GcsIO() 并且应该能够在你需要的地方拾取和放下文件。

    【讨论】:

    • 这可以用来下载到本地工作人员,而不仅仅是在桶之间移动吗?我尝试了 google-cloud-storage python 模块,与 gsutil 对于大型(3gb)对象相比,它效果不佳。
    • 是的,它可以,该方法调用会将传递给它的对象从存储中加载到正在执行的数据流工作者的本地实例中。我对较大对象的建议,比如说 >20MB ,将把那个东西分成可工作的包,并序列化那个对象,因为这样你会得到更好的性能。这是假设您正在处理的对象可以被分解。
    • 是的,正在处理分块,虽然它有点循环。要制作块,必须下载文件,然后重新上传并在块上运行数据流。能否给一行本地下载语法的示例代码,我看到的只是略显简洁:beam.apache.org/documentation/sdks/pydoc/0.6.0/_modules/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 2014-08-27
    • 2019-09-13
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    相关资源
    最近更新 更多