我已成功构建Spark 2.1源代码。
但是,当我运行一些示例(例如,org.apache.spark.examples.mllib.BinaryClassification
)时,我收到以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: scopt/OptionParser
我尝试使用Spark 2.1预构建版本(examples/jars/spark-examples_2.11-2.1.0.jar
)运行这些示例,我得到了同样的错误。 Spark 1.6预构建版本有效(lib/spark-examples-1.6.2-hadoop2.6.0.jar
)。有posts与此错误相关,但它们似乎不适用,因为Spark examples
文件夹没有任何.sbt
文件。
答案 0 :(得分:2)
我找到了答案。为避免错误,还应使用scopt_x.xx-x.x.x.jar
提交--jars
。当您构建Spark示例时,除了spark-examples_x.xx-x.x.x.jar
之外,还将构建scopt_x.xx-x.x.x.jar
(在我的情况下,在同一目标文件夹examples/target/scala-2.11/jars
中)。
获得jar文件后,您可以将其与您的应用程序一起提交:
./bin/spark-submit \
--jars examples/target/scala-2.11/jars/scopt_x.xx-x.x.x.jar \
--class org.apache.spark.examples.mllib.BinaryClassification \
--master ...