Sono nuovo di scala e scintilla. Oggi ho provato a scrivere del codice e farlo scattare, ma ho ottenuto un'eccezione.codice scala lanciare l'eccezione nella scintilla
questo lavoro di codice in scala locale
import org.apache.commons.lang.time.StopWatch
import org.apache.spark.{SparkConf, SparkContext}
import scala.collection.mutable.ListBuffer
import scala.util.Random
def test(): List[Int] = {
val size = 100
val range = 100
var listBuffer = new ListBuffer[Int] // here throw an exception
val random = new Random()
for (i <- 1 to size)
listBuffer += random.nextInt(range)
listBuffer.foreach(x => println(x))
listBuffer.toList
}
ma quando ho messo questo codice in scintilla, è un'eccezione dice:
15/01/01 14:06:17 INFO SparkDeploySchedulerBackend: SchedulerBackend is ready for scheduling beginning after reached minRegisteredResourcesRatio: 0.0
Exception in thread "main" java.lang.NoSuchMethodError: scala.runtime.ObjectRef.create(Ljava/lang/Object;)Lscala/runtime/ObjectRef;
at com.tudou.sortedspark.Sort$.test(Sort.scala:35)
at com.tudou.sortedspark.Sort$.sort(Sort.scala:23)
at com.tudou.sortedspark.Sort$.main(Sort.scala:14)
at com.tudou.sortedspark.Sort.main(Sort.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:483)
at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:358)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
se io commento il codice qui sotto, il codice di lavoro in spark
for (i <- 1 to size)
qualcuno può spiegare perché, per favore.
Che cos'è la riga 35 di Sort.scala? La linea 'new ListBuffer'? Sembra strano che questo generi un'eccezione che scompare quando si rimuove il per dopo. Per favore pubblica un esempio completo che fallisce con la scintilla –
Sembra una mancata corrispondenza della versione scala. Verifica che la versione di scala in cui stai usando sia compatibile con quella scintilla e quella sul cluster dove stai correndo. – lmm