为什么Spark应用程序抛出“java.lang.NoSuchMethodException”?

时间:2016-07-22 06:06:43

标签: java eclipse apache-spark classpath

我正在运行一个使用自定义类的Spark应用程序。我正在使用Eclipse和Spark (v 1.6.1 with hadoop2.6)

这个类是jar的一部分,我将jar添加到Eclipse classpath。但是,当应用程序运行时,我收到错误

java.lang.NoSuchMethodException: myWorld.myClass.<init>(org.apache.spark.SparkConf)

程序:

SparkConf conf = new SparkConf(true);
  //specify some Spark settings for conf
  /*...
    ...*/
JavaSparkContext sc = new JavaSparkContext(conf);

myWorld.myClass.java没有所谓的init<>方法,并且在设计上不需要。所以,不确定为什么SparkConfig需要它。 :(

1 个答案:

答案 0 :(得分:0)

如果您使用spark-submit运行应用程序,则必须在命令行中提供classpath,并且还要提供exectuor类路径。

--driver-class-path your.jar --driver-java-options "-Dspark.executor.extraClassPath=your.jar"

提供整个目录而不是jar文件对我有效。