Tag: 谷歌云,dataproc

如何使用Google DataProc Java Client在相关的GS存储桶中使用jar文件和类提交spark作业?

我需要触发Spark Jobs以使用API​​调用从JSON文件聚合数据。 我使用spring-boot来创建资源。 因此,解决方案的步骤如下: 用户使用json文件作为输入发出POST请求 JSON文件存储在与数据中心群集关联的Google存储桶中。 在REST方法中使用指定的jar,类和参数触发聚合spark作业是json文件链接。 我希望使用Dataproc的Java Client而不是控制台或命令行来触发作业。 你怎么做呢?

在google dataproc集群实例中的spark-submit上运行app jar文件

我正在运行一个.jar文件,其中包含我需要打包的所有依赖项。 其中一个依赖项是com.google.common.util.concurrent.RateLimiter并且已经检查过它的类文件位于此.jar文件中。 不幸的是,当我在google的dataproc-cluster实例的主节点上点击命令spark-submit时,我收到此错误: Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch; at com.google.common.util.concurrent.RateLimiter$SleepingStopwatch$1.(RateLimiter.java:417) at com.google.common.util.concurrent.RateLimiter$SleepingStopwatch.createFromSystemTimer(RateLimiter.java:416) at com.google.common.util.concurrent.RateLimiter.create(RateLimiter.java:130) at LabeledAddressDatasetBuilder.publishLabeledAddressesFromBlockstem(LabeledAddressDatasetBuilder.java:60) at LabeledAddressDatasetBuilder.main(LabeledAddressDatasetBuilder.java:144) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:672) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:120) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 在覆盖我的依赖关系的意义上似乎发生了一些事情。 已经从这个.jar反编译了Stopwatch.class文件并检查了那个方法。 这恰好发生在我运行google dataproc实例时。 我在执行spark-submit的过程中做了grep ,我得到了像这样的标志-cp : /usr/lib/jvm/java-8-openjdk-amd64/bin/java -cp /usr/lib/spark/conf/:/usr/lib/spark/lib/spark-assembly-1.5.0-hadoop2.7.1.jar:/usr/lib/spark/lib/datanucleus-api-jdo-3.2.6.jar:/usr/lib/spark/lib/datanucleus-rdbms-3.2.9.jar:/usr/lib/spark/lib/datanucleus-core-3.2.10.jar:/etc/hadoop/conf/:/etc/hadoop/conf/:/usr/lib/hadoop/lib/native/:/usr/lib/hadoop/lib/*:/usr/lib/hadoop/*:/usr/lib/hadoop-hdfs/lib/*:/usr/lib/hadoop-hdfs/*:/usr/lib/hadoop-mapreduce/lib/*:/usr/lib/hadoop-mapreduce/*:/usr/lib/hadoop-yarn/lib/*:/usr/lib/hadoop-yarn/* 有什么办法可以解决这个问题吗? 谢谢。