我在火花笔记本中导入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
部分。
这是我的导入
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笔记本?
答案 0 :(得分:1)
尝试评估类似
的内容:dp "harsha2010" % "magellan" % "1.0.4-s_2.11"
它会将库加载到Spark中,允许它被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回购中。但这应该让你前进。
答案 1 :(得分:1)
我建议检查一下:
和
https://github.com/spark-notebook/spark-notebook/blob/master/docs/metadata.md#add-spark-packages
我认为:dp
magic命令已弃用,您应该在笔记本元数据中添加自定义依赖项。您可以进入菜单编辑&gt;编辑笔记本元数据,添加如下内容:
"customDeps": [
"harsha2010 % magellan % 1.0.4-s_2.11"
]
完成后,您将需要重新启动内核,您可以在浏览器控制台中检查是否正确下载了包。
答案 2 :(得分:0)
简单来说,您应该设置或添加 EXTRA_CLASSPATH
environnent变量以指向您下载的 .jar
文件:
wondows OS中的export EXTRA_CLASSPATH = </link/to/your.jar>
或set EXTRA_CLASSPATH= </link/to/your.jar>
。 Here find the detailed solution