【问题标题】:Run-time error of Spark code in IntellijIntellij 中 Spark 代码的运行时错误
【发布时间】:2015-12-01 15:21:28
【问题描述】:

作为一个新的 Spark/Intellij 用户,在 IDEA Intellij 中运行 spark 代码很痛苦。 我用谷歌搜索了很多页面,但没有找到解决方案。 代码非常简单,如下所示。 我在这一行遇到运行时错误:
val conf = new SparkConf().setAppName("Spark Pi")

import org.apache.spark.SparkConf
import scala.math.random

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello World")
    val conf = new SparkConf().setAppName("Spark Pi")
//    val spark = new SparkContext(conf)
//    val slices = if (args.length > 0) args(0).toInt else 3
//    val n = 100000 * slices
//    val count = spark.parallelize(1 to n, slices).map { i =>
//      val x = random * 2 - 1
//      val y = random * 2 - 1
//      if (x*x + y*y < 1) 1 else 0
//    }.reduce(_ + _)
//    println("Pi is roughly " + 4.0 * count / n)
//    val pi = 4.0 * count / n
//    val ppi = spark.parallelize(Seq(pi))
//    ppi.saveAsTextFile("/tmp/bryan/spark/output.pi")
//    spark.stop()
  }
}

错误信息是:

"C:\Program Files\Java\jdk8\bin\java" -Didea.launcher.port=7534 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 14.1.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk8\jre\lib\charsets.jar;C:\Program Files\Java\jdk8\jre\lib\deploy.jar;C:\Program Files\Java\jdk8\jre\lib\javaws.jar;C:\Program Files\Java\jdk8\jre\lib\jce.jar;C:\Program Files\Java\jdk8\jre\lib\jfr.jar;C:\Program Files\Java\jdk8\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk8\jre\lib\jsse.jar;C:\Program Files\Java\jdk8\jre\lib\management-agent.jar;C:\Program Files\Java\jdk8\jre\lib\plugin.jar;C:\Program Files\Java\jdk8\jre\lib\resources.jar;C:\Program Files\Java\jdk8\jre\lib\rt.jar;C:\Program Files\Java\jdk8\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk8\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk8\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk8\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk8\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk8\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk8\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk8\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk8\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk8\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk8\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk8\jre\lib\ext\zipfs.jar;D:\code\spark-cdh\analysis-jobs\example\target\scala-2.10\classes;C:\Users\spark39\.ivy2\cache\org.scala-lang\scala-compiler\jars\scala-compiler-2.10.0.jar;C:\Users\spark39\.sbt\boot\scala-2.10.4\lib\scala-library.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 14.1.5\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.spark.example.test.HelloWorld
Hello World
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkConf
    at com.samsungaustin.yac.spark.example.test.HelloWorld$.main(Test.scala:15)
    at com.samsungaustin.yac.spark.example.test.HelloWorld.main(Test.scala)
    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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.SparkConf
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more

有人提到通过“编辑配置”菜单添加类路径,但有人能准确地说出我是如何解决这个问题的吗?

谢谢。

【问题讨论】:

    标签: intellij-idea apache-spark runtime-error


    【解决方案1】:

    从新技术开始通常会有些痛苦,但它可能会带来宝贵的新知识和经验。您是否使用 Maven pom.xml 文件来构建您的项目?我建议您使用 Maven 或类似的东西来跟踪您的代码需要哪些库。

    您还可以尝试网站上现有的 Spark 示例之一:http://spark.apache.org/examples.html。还有一个 GitHub 存储库,其中包含更多示例:https://github.com/apache/spark/tree/master/examples。 (这个仓库已经有一个 Maven pom.xml 文件:https://github.com/apache/spark/blob/master/examples/pom.xml。)

    以下页面包含(希望)有用的开发人员工具:https://cwiki.apache.org/confluence/display/SPARK/Useful+Developer+Tools

    还有几个使用 Spark、Scala 和 IntelliJ IDEA 的教程:

    【讨论】:

    • 感谢您的帮助。是的,这很痛苦..仍然很痛苦,但我已经熟悉了。我正在使用 SBT,但可以参考 maven pom.xml。就我而言,问题是“编辑配置”中的 src 设置。
    • 不客气。祝您探索 Spark 顺利!
    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 1970-01-01
    • 2016-03-31
    • 2017-10-07
    相关资源
    最近更新 更多