5

我正在尝试使用 Eclipse 中的 DataFlowRunner 在 Windows 上使用 MinimalWordCount --> Run As Java Application from with in eclipse 运行 MinimalWordCount 示例,它与使用我的 gcs 存储桶的示例中的股票代码相同,但是我一直得到以下异常,有人可以让我知道这里有什么问题吗?

  1. 我已验证存储桶名称是否正确。
  2. 我已经在我的 Windows 机器上运行了 gcloud init。

线程“主”java.lang.RuntimeException 中的异常:无法从 org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod 的工厂方法 DataflowRunner#fromOptions(interface org.apache.beam.sdk.options.PipelineOptions) 构造实例(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) at com.dynaobject.apachebeamexperiment.MinimalWordCount.main(MinimalWordCount.java:77) 原因:sun.reflect 处的 java.lang.reflect.InvocationTargetException。在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 在 sun.reflect 的 NativeMethodAccessorImpl.invoke0(Native Method)。DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at 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) 的 PipelineOptions 中检索值 ... 9 更多原因:java.lang .IllegalArgumentException:但未能从 org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:212) 的 PipelineOptions 中检索值... 9 更多原因:java.lang.IllegalArgumentException:但未能从 org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:212) 的 PipelineOptions 中检索值... 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.ProxyInvocationHandler.returnDefaultHelper(ProxyInvocationHandler.java:575) 在 org.apache.beam.sdk.options.ProxyInvocationHandler.getDefault(ProxyInvocationHandler.java:516) 在 org.apache.beam.sdk.options.ProxyInvocationHandler .invoke(ProxyInvocationHandler.java:155) at com.sun.proxy.$Proxy15.getGcpTempLocation(Unknown Source) at org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:210) ... 还有 9 个 引起:java.lang.IllegalArgumentException:输出路径不存在或不可写:gs://tempxyz at org.apache.beam.sdk.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java :191) 在 org.apache.beam.sdk.util.GcsPathValidator.validateOutputFilePrefixSupported(GcsPathValidator.java:62) 的 org.apache.beam.sdk.util.GcsPathValidator.verifyPathIsAccessible(GcsPathValidator.java:78)。 beam.sdk.options.GcpOptions$GcpTempLocationFactory.create(GcpOptions.java:217) ... 还有 15 个

4

1 回答 1

16

在文档中的某处提到我需要运行以下 .

gcloud auth 应用程序-默认登录

显然,这个例外无助于弄清楚这一点,我希望它对其他人有所帮助。

于 2017-03-26T08:17:25.057 回答