2017-03-09 36 views
5

我在導入火花筆記本中的magellan-1.0.4-s_2.11時遇到問題。我已經從https://spark-packages.org/package/harsha2010/magellan下載了該jar,並試圖將SPARK_HOME/bin/spark-shell --packages harsha2010:magellan:1.0.4-s_2.11放入bin文件夾的spark-notebook文件的Start of Customized Settings部分。如何在Spark筆記本中導入庫

這裏是我的進口

import magellan.{Point, Polygon, PolyLine} 
import magellan.coord.NAD83 
import org.apache.spark.sql.magellan.MagellanContext 
import org.apache.spark.sql.magellan.dsl.expressions._ 
import org.apache.spark.sql.Row 
import org.apache.spark.sql.types._ 

我的錯誤...

<console>:71: error: object Point is not a member of package org.apache.spark.sql.magellan 
     import magellan.{Point, Polygon, PolyLine} 
      ^
<console>:72: error: object coord is not a member of package org.apache.spark.sql.magellan 
     import magellan.coord.NAD83 
        ^
<console>:73: error: object MagellanContext is not a member of package org.apache.spark.sql.magellan 
     import org.apache.spark.sql.magellan.MagellanContext 

我然後試圖通過將其放置到main script像這樣導入新的圖書館像任何其他庫:

$lib_dir/magellan-1.0.4-s_2.11.jar" 

這不起作用,我留下了我的腦袋,想知道我在做什麼錯了。如何將magellan等庫導入Spark筆記本?

回答

1

請評價像

:dp "harsha2010" % "magellan" % "1.0.4-s_2.11" 

它將庫加載到星火,使其成爲import版 - 假定它雖然可以Maven的回購獲得。在我的情況下,它失敗,一個消息:

failed to load 'harsha2010:magellan:jar:1.0.4-s_2.11 (runtime)' from ["Maven2 local (file:/home/dev/.m2/repository/, releases+snapshots) without authentication", "maven-central (http://repo1.maven.org/maven2/, releases+snapshots) without authentication", "spark-packages (http://dl.bintray.com/spark-packages/maven/, releases+snapshots) without authentication", "oss-sonatype (https://oss.sonatype.org/content/repositories/releases/, releases+snapshots) without authentication"] into /tmp/spark-notebook/aether/b2c7d8c5-1f56-4460-ad39-24c4e93a9786 

我認爲,文件是要大,連接中斷,整個文件可以下載了。

解決方法

所以我從手動下載的JAR:

http://dl.bintray.com/spark-packages/maven/harsha2010/magellan/1.0.4-s_2.11/ 

並將它複製到:

/tmp/spark-notebook/aether/b2c7d8c5-1f56-4460-ad39-24c4e93a9786/harsha2010/magellan/1.0.4-s_2.11 

然後:dp命令工作。嘗試先調用它,如果它將無法將JAR複製到正確的路徑以使事情發揮作用。

更好的解決方案

我應該研究爲什麼下載失敗修復它擺在首位?或者把該庫在我的本地M2回購。但是,這應該讓你去。

0

我會建議檢查:

https://github.com/spark-notebook/spark-notebook/blob/master/docs/metadata.md#import-download-dependencies

https://github.com/spark-notebook/spark-notebook/blob/master/docs/metadata.md#add-spark-packages

我覺得:dp魔術命令貶值,相反,你應該在筆記本的元數據添加自定義的依賴。您可以在菜單中編輯>編輯筆記本的元數據去,有添加類似:

"customDeps": [ 
    "harsha2010 % magellan % 1.0.4-s_2.11" 
] 

完成後,您將需要重新啓動的內核,你可以在瀏覽器控制檯檢查包被正常下載。

0

最簡單的辦法,你應該設置或添加EXTRA_CLASSPATH environnent變量指向下載您.jar文件: export EXTRA_CLASSPATH = </link/to/your.jar>set EXTRA_CLASSPATH= </link/to/your.jar>在WONDOWS OS。 Here find the detailed solution