当尝试在 Dataflow 服务上运行管道时,我在命令行上指定了暂存和临时存储桶(在 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/ 已经存在于我的项目中,我可以访问它。我需要添加什么才能完成这项工作?

最佳答案

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

关于google-cloud-dataflow - 在 Dataflow 上运行时路径中缺少对象或存储桶,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44291325/

10-14 16:15