我尝试使用最新的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