2016-10-30 5 views
4

Wenn ich den Code ausführen

val home = "/Users/adremja/Documents/Kaggle/outbrain" 
val documents_categories = sc.textFile(home + "/documents_categories.csv") 
documents_categories take(10) foreach println 

in funken shell es funktioniert perfekt

scala> val home = "/Users/adremja/Documents/Kaggle/outbrain" 
home: String = /Users/adremja/Documents/Kaggle/outbrain 

scala> val documents_categories = sc.textFile(home + "/documents_categories.csv") 
documents_categories: org.apache.spark.rdd.RDD[String] = /Users/adremja/Documents/Kaggle/outbrain/documents_categories.csv MapPartitionsRDD[21] at textFile at <console>:26 

scala> documents_categories take(10) foreach println 
document_id,category_id,confidence_level 
1595802,1611,0.92 
1595802,1610,0.07 
1524246,1807,0.92 
1524246,1608,0.07 
1617787,1807,0.92 
1617787,1608,0.07 
1615583,1305,0.92 
1615583,1806,0.07 
1615460,1613,0.540646372 

jedoch wenn ich versuche, im Zeppelin zu laufen bekomme ich einen Fehler

java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.rdd.RDDOperationScope$ 
    at org.apache.spark.SparkContext.withScope(SparkContext.scala:679) 
    at org.apache.spark.SparkContext.textFile(SparkContext.scala:797) 
    ... 46 elided 

haben Sie eine Idee haben, wo die pro ist blöd?

Ich habe Funken 2.0.1 von Homebrew (ich verlinkte es in Zeppelin-env.sh als SPARK_HOME) und Zeppelin 0.6.2 Binär von Zeppelin-Website.

Antwort

5

OK, es sieht so aus, als hätte ich eine Lösung gefunden. Von lib Ordner in zeppelin Ich löschte:

  • jackson-Annotationen-2.5.0.jar
  • jackson-Core-2.5.3.jar
  • jackson-databind-2.5.3.jar

und ersetzt es mit der Version 2.6.5, die Funken verwendet.

Es funktioniert jetzt, aber ich weiß nicht, ob ich nichts anderes verderben würde.

1

es scheint, dass das Problem der Funken-Version, der Zeppelin 0.6.2 funken 1.6, während wir Funke mit Version 2.0 laufen. So können die Gläser nicht kompatibel sein.

Verwandte Themen