尝试在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/
已存在于我的项目中,我可以访问它。我需要添加什么来使其工作?
答案 0 :(得分:6)
DataflowRunner要求分段位置和临时位置是在桶中的位置而不是存储桶的顶层。在您的参数中添加目录(例如--stagingLocation=gs://df-staging-bucket-57763/staging
或--tempLocation=gs://df-staging-bucket-57763/temp
)(对于每个stagingLocation
和gcpTempLocation
参数)将足以运行管道。
答案 1 :(得分:0)
更新运行配置,如下所示: