google-cloud-platform - 在谷歌数据流工作器上暂存文件

标签 google-cloud-platform google-cloud-dataflow

Dataflow SDK 中是否有任何内容可以让我在工作器上暂存资源文件?我需要在文件系统上为执行 NLP 的自定义 DoFn 提供特定的静态文件资源。我的目标是从类加载器中获取一个 zip 文件资源,并在工作器正在初始化时在工作器文件系统上仅将其解压缩一次,而不是尝试在自定义 DoFn 中执行此操作。

最佳答案

您可以指定 --filesToStage指定应该暂存的文件。有几个问题需要注意:

  • 默认情况下,Dataflow SDK 设置 --filesToStage到类路径中的所有文件,这可确保工作人员可以使用运行管道所需的代码。如果您覆盖此选项,您需要确保它包含您的代码。
  • worker 上的文件(将在类路径中)将附加一个 MD5 哈希值。因此,如果您指定 --filesToStage=foo.zip ,文件名将是 foo-<someHash>.zip .您需要遍历类路径中的所有文件以找到合适的文件。

  • 请参阅 --filesToStage 上的文档在 https://cloud.google.com/dataflow/pipelines/executing-your-pipeline
    了解更多信息。

    关于google-cloud-platform - 在谷歌数据流工作器上暂存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30516965/

    相关文章:

    ssh - 使用谷歌 gcloud ssh 隧道进入网络内部的 linux 机器

    r - 在无状态(Google Cloud Engine) docker 上从R保留永久日志的最佳方法是什么?

    google-cloud-dataflow - 在 Dataflow 中使用自定义 docker 容器

    google-cloud-dataflow - 从 Dataflow 管道中间读取 Bigtable 数据

    google-cloud-dataflow - Dataflow sideInput 是否可以通过读取 gcs 桶来更新每个窗口?

    google-cloud-platform - 如何在 Google Cloud SQL 中获取按需备份的大小?

    google-cloud-platform - 如何在 Google Cloud Platform 中跨服务 (API) 和项目查找、列出或搜索资源?

    Docker "Login succeeded"但仍无法推送到 GCP 私有(private)注册表

    java - 谷歌数据流 : Write to Datastore without overwriting existing entities

    java - Apache 光束 : How to solve "ParDo requires a deterministic key coder in order to use state and timers" while using Deduplication function