在 IntelliJ Scala 工作表中使用 Apache Spark



我尝试使用最新的Scala插件在IntelliJ 2016.3中运行Apache Spark 1.6.3和Scala 2.10.5。该项目是一个专家项目。

如果我尝试使用以下命令创建新的SparkContext:

val sparkConf = new SparkConf()
val sc = new SparkContext(sparkConf.setAppName("Spark-Scala-Demo").setMaster("local[*]"))

我得到

17/01/16 14:05:28 ERROR SparkContext: Error initializing SparkContext.
java.lang.ClassNotFoundException: org.apache.spark.rpc.netty.NettyRpcEnvFactory
    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)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.spark.util.Utils$.classForName(Utils.scala:175)
    at org.apache.spark.rpc.RpcEnv$.getRpcEnvFactory(RpcEnv.scala:41)

该代码在 IntelliJs scala 控制台以及定义 main-method的普通类中运行良好。

那么 scala 工作表有什么不同呢?

在工作表的开头试试这个:import org.apache.spark.rpc.netty

最新更新