Spark示例NoClassDefFoundError scopt / OptionParser

时间:2017-02-18 01:59:05

标签: scala apache-spark scope noclassdeffounderror

我已成功构建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文件。

1 个答案:

答案 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 ...