Dataflow 上 运行 时路径中缺少对象或存储桶
Missing object or bucket in path when running on Dataflow
尝试 运行 Dataflow 服务上的管道时,我在命令行上指定了暂存和临时存储桶(在 GCS 中)。当程序执行时,我在管道 运行s 之前得到一个 RuntimeException,根本原因是我在路径中遗漏了一些东西。
Caused by: java.lang.RuntimeException: Failed to construct instance from factory method DataflowRunner#fromOptions(interface org.apache.beam.sdk.options.PipelineOptions)
...
Caused by: java.lang.IllegalArgumentException: Missing object or bucket in path: 'gs://df-staging-bucket-57763/', did you mean: 'gs://some-bucket/df-staging-bucket-57763'?
gs://df-staging-bucket-57763/
已经存在于我的项目中,我可以访问它。我需要添加什么才能使这项工作正常进行?
DataflowRunner 要求暂存位置和临时位置是存储桶内 的位置,而不是存储桶的顶级位置。将目录(例如 --stagingLocation=gs://df-staging-bucket-57763/staging
或 --tempLocation=gs://df-staging-bucket-57763/temp
)添加到您的参数(对于每个 stagingLocation
和 gcpTempLocation
参数)将足以 运行 管道.
更新 运行 配置如下:
- 取消选中管道参数选项卡下的标记 "Use Default Dataflow options"。 Select 手动管道参数。
- 保留 "Cloud Storage staging location" 的空白值。
尝试 运行 Dataflow 服务上的管道时,我在命令行上指定了暂存和临时存储桶(在 GCS 中)。当程序执行时,我在管道 运行s 之前得到一个 RuntimeException,根本原因是我在路径中遗漏了一些东西。
Caused by: java.lang.RuntimeException: Failed to construct instance from factory method DataflowRunner#fromOptions(interface org.apache.beam.sdk.options.PipelineOptions)
...
Caused by: java.lang.IllegalArgumentException: Missing object or bucket in path: 'gs://df-staging-bucket-57763/', did you mean: 'gs://some-bucket/df-staging-bucket-57763'?
gs://df-staging-bucket-57763/
已经存在于我的项目中,我可以访问它。我需要添加什么才能使这项工作正常进行?
DataflowRunner 要求暂存位置和临时位置是存储桶内 的位置,而不是存储桶的顶级位置。将目录(例如 --stagingLocation=gs://df-staging-bucket-57763/staging
或 --tempLocation=gs://df-staging-bucket-57763/temp
)添加到您的参数(对于每个 stagingLocation
和 gcpTempLocation
参数)将足以 运行 管道.
更新 运行 配置如下:
- 取消选中管道参数选项卡下的标记 "Use Default Dataflow options"。 Select 手动管道参数。
- 保留 "Cloud Storage staging location" 的空白值。