我正在尝试在 Windows 上使用 Eclipse 中的 DataFlowRunner 运行 MinimalWordCount 示例,使用 MinimalWordCount --> 在 Eclipse 中运行作为 Java 应用程序,它与使用我的 gcs 存储桶的示例中的代码相同,但是我始终遇到以下异常,有人可以让我知道这里出了什么问题吗?
- 我已验证存储桶名称正确。
- 我已经在 Windows 计算机上运行了 gcloud init。
线程“main”中的异常 java.lang.RuntimeException:失败
从工厂方法构造实例
DataflowRunner#fromOptions(接口
org.apache.beam.sdk.options.PipelineOptions)
在 org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:233)
在 org.apache.beam.sdk.util.InstanceBuilder.build(InstanceBuilder.java:162)
在 org.apache.beam.sdk.runners.PipelineRunner.fromOptions(PipelineRunner.java:56)
在 org.apache.beam.sdk.Pipeline.create(Pipeline.java:135)
在 com.dynaobject.apachebeamexperiment.MinimalWordCount.main(MinimalWordCount.java:77)
引起原因:java.lang.reflect.InitationTargetException
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(来源未知)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(来源未知)
在 java.lang.reflect.Method.invoke(来源未知)
在 org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:222)
... 4 更多
引起原因:java.lang.IllegalArgumentException:DataflowRunner 需要 gcpTempLocation,但无法从中检索值
管道选项
在 org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:212)
... 9 更多
引起原因:java.lang.IllegalArgumentException:构造 gcpTempLocation 的默认值时出错:tempLocation 不是
有效的 GCS 路径,gs://tempxyz。在 org.apache.beam.sdk.options.GcpOptions$GcpTempLocationFactory.create(GcpOptions.java:219)
在 org.apache.beam.sdk.options.GcpOptions$GcpTempLocationFactory.create(GcpOptions.java:205)
在 org.apache.beam.sdk.options.ProxyInitationHandler.returnDefaultHelper(ProxyInitationHandler.java:575)
在 org.apache.beam.sdk.options.ProxyInitationHandler.getDefault(ProxyInitationHandler.java:516)
在 org.apache.beam.sdk.options.ProxyInitationHandler.invoke(ProxyInitationHandler.java:155)
在 com.sun.proxy.$Proxy15.getGcpTempLocation(来源未知)
在 org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:210)
... 9 更多引起原因:java.lang.IllegalArgumentException:输出路径不存在或不可写:gs://tempxyz在 org.apache.beam.sdk.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:191)
在 org.apache.beam.sdk.util.GcsPathValidator.verifyPathIsAccessible(GcsPathValidator.java:78)
在 org.apache.beam.sdk.util.GcsPathValidator.validateOutputFilePrefixSupported(GcsPathValidator.java:62)
在 org.apache.beam.sdk.options.GcpOptions$GcpTempLocationFactory.create(GcpOptions.java:217)
... 15 更多
文档中的某处提到我需要运行以下命令。
gcloud auth 应用程序-默认登录
显然,异常对解决这个问题没有帮助,我希望它对其他人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)