确切类型的火花类型不匹配

问题描述:

在尝试Naive Bayes示例时here我在Ubuntu上的Spark 1.4上遇到此问题。我已经看到类似问题的帖子,其中修复了一个jar不匹配(通过Maven),但在这种情况下,所讨论的类与Spark打包在一起,所以我不知道如何继续。确切类型的火花类型不匹配

scala> val model = NaiveBayes.train(training, lambda = 1.0, modelType = "multinomial") 
<console>:46: error: type mismatch; 
found : org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.RDD[org.apache.spark.mllib.regression.LabeledPoint] 
required: org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.RDD[org.apache.spark.mllib.regression.LabeledPoint] 
     val model = NaiveBayes.train(training, lambda = 1.0, modelType = "multinomial") 
            ^

还要注意很长的类类型的链条:

org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.org.apache.spark.rdd.RDD 

难道这是一些类加载器的bug?也许它正在寻找org.apache.spark.rdd.RDD,但发现错误的字符串(尽管该类实际上是正确的)。

相关: Apache Spark type mismatch of the same type (String)

原来进口在同一个库火花外壳某种原因导致名称的腐败(即追加的名称)。通过使用罗伊的建议关掉它,我再次得到这个工作,但我遇到了另一个问题:

java.lang.NumberFormatException: empty String 
     at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1020) 
     at java.lang.Double.parseDouble(Double.java:540) 
     at scala.collection.immutable.StringLike$class.toDouble(StringLike.scala:232) 
     at scala.collection.immutable.StringOps.toDouble(StringOps.scala:31) 
     at $line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1$$anonfun$apply$1.apply(<console>:28) 
     at $line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1$$anonfun$apply$1.apply(<console>:28) 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
     at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 
     at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 
     at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) 
     at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108) 
     at $line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1.apply(<console>:28) 
     at $line22.$read$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$1.apply(<console>:26) 
     at scala.collection.Iterator$$anon$11.next(Iterator.scala:328) 
     at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:389) 
     at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327) 
     at org.apache.spark.util.collection.ExternalSorter.insertAll(ExternalSorter.scala:199) 
     at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:56) 
     at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:70) 
     at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41) 
     at org.apache.spark.scheduler.Task.run(Task.scala:70) 
     at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:213) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
     at java.lang.Thread.run(Thread.java:745)