在Google数据流工作人员上暂存文件

use*_*668 5 google-cloud-platform google-cloud-dataflow

Dataflow SDK中是否有允许我在工作器上暂存资源文件的内容?我有特定的静态文件资源,我需要在文件系统上为执行NLP的自定义DoFn提供这些资源.我的目标是从类加载器获取zip文件资源,并在工作程序初始化时将其解压缩到工作文件系统上,而不是尝试在自定义DoFn中执行此操作.

Ben*_*ers 4

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

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

有关更多信息,请参阅https://cloud.google.com/dataflow/pipelines/executing-your-pipeline--filesToStage中的文档。