这可能是微不足道的,但我无法理解我做错了什么。看起来从RDD收集案例类有一些问题。
case class Test(val1 :Double, val2 :Double)
val myrdd = sc.makeRDD(Array(Test(1,1),Test(1,1),Test(1,1),Test(1,1)))
myrdd.collect.foreach(x => println(x.val1))
返回:
stderr]:> failure running last command: org.apache.spark.SparkException: Job aborted due to stage failure: ClassNotFound with classloader: sun.misc.Launcher$AppClassLoader@5d6f64b1
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1450)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1438)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1437)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
...
如果我在收集一切正常之前将案例类映射到元组。试图从类路径中的库导入案例类而不是声明它,同样的错误,没有运气。这在本地模式的火花壳中工作正常。 我在mesos集群上运行Spark 2.0。任何帮助表示赞赏。