在Dataflow

时间:2017-05-31 17:36:35

标签: google-cloud-dataflow apache-beam

尝试在Dataflow服务上运行管道时,我在命令行上指定了staging和temp buckets(在GCS中)。当程序执行时,我在管道运行之前得到一个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/已存在于我的项目中,我可以访问它。我需要添加什么来使其工作?

2 个答案:

答案 0 :(得分:6)

DataflowRunner要求分段位置和临时位置是桶中的位置而不是存储桶的顶层。在您的参数中添加目录(例如--stagingLocation=gs://df-staging-bucket-57763/staging--tempLocation=gs://df-staging-bucket-57763/temp)(对于每个stagingLocationgcpTempLocation参数)将足以运行管道。

答案 1 :(得分:0)

更新运行配置,如下所示:

  1. 取消选中“管道参数”选项卡下的标志“使用默认数据流选项”。手动选择管道参数。
  2. 为“云存储暂存位置”保留空白值。