2016-10-30 39 views
4

當我運行代碼

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

無法初始化類火花殼它完美

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 

然而,當我嘗試在運行齊柏林我得到一個錯誤

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 

你有任何想法,是親blem?我從自制軟件(我把它作爲SPARK_HOME鏈接到zeppelin-env.sh)和齊柏林的網站上的Zeppelin 0.6.2二進制文件引發了2.0.1。

回答

5

確定它看起來像我找到解決方案。從lib文件夾中的飛艇我刪除:

  • 傑克遜的註解-2.5.0.jar
  • 傑克遜核心-2.5.3.jar
  • 傑克遜 - 數據綁定-2.5.3.jar

並將其替換爲版本2.6.5,該版本使用火花。

它的工作現在,但我不知道我是否沒有破壞別的東西。

1

看來,火花版本的問題,齊柏林0.6.2支持火花1.6,而我們與版本2.0運行火花。所以罐子可能不兼容。