2015-12-29 156 views
1

我在Windows上安裝了本地火花1.5.2(hadoop 2.4)安裝,解釋hereApache火花外殼錯誤導入罐

我想導入我使用maven在jar中創建的jar文件(jar是jmatrw,我上傳到github上的here)。請注意,該jar不包含spark程序,並且它沒有依賴關係來觸發。我嘗試以下步驟,但似乎沒有人在我的安裝工作:

  • 「E複製庫:/installprogram/spark-1.5.2-bin-hadoop2.4/lib/jmatrw- v0.1-beta.jar「
  • 編輯spark-env.sh並添加SPARK_CLASSPATH =」E:/installprogram/spark-1.5.2-bin-hadoop2.4/lib/jmatrw-v0.1-beta的.jar」
  • 在命令窗口中我跑> spark-shell --jars "E:/installprogram/spark-1.5.2-bin-hadoop2.4/lib/jmatrw-v0.1-beta.jar",但它說‘警告:跳過遠程罐子’
  • 在當我鍵入scala> import it.prz.jmatrw.JMATData,火花外殼採用error: not found: value it回答說:「加入罐子......時間戳INFO」

火花殼我試圖做scala> sc.addJar("E:/installprogram/spark-1.5.2-bin-hadoop2.4/lib/jmatrw-v0.1-beta.jar"),它說。

我花了很多時間在Stackoverflow和谷歌上搜索,確實類似的Stakoverflow問題是here,但我仍然無法導入我的自定義jar。

由於

回答

2

有在1.5.2兩個設置引用外部罐。您可以將其添加到驅動程序或執行程序。

我正在通過將設置添加到spark-defaults.conf來完成此操作,但您可以將它們設置爲spark-shell或SparkConf

spark.driver.extraClassPath /path/to/jar/* 
spark.executor.extraClassPath /path/to/jar/* 

我看不到任何東西真的錯了你在做它的方式,但你可以嘗試通過conf方法上面,或者設置這些使用SparkConf

val conf = new SparkConf() 
conf.set("spark.driver.extraClassPath", "/path/to/jar/*") 
val sc = new SparkContext(conf) 

一般情況下,我的天堂」在Windows上享受與Spark的合作。嘗試進入Unix/Linux。

+0

我在'spark-defaults.conf'文件中添加了設置'spark.driver.extraClassPath',它工作正常!實際上,SPARK_CLASSPATH在Spark 1.0+中已棄用,正如火花日誌警告中所建議的那樣。感謝您花時間閱讀和回答我的問題。 –