如何在zeppelin中导入sparkdl

How to import sparkdl in zeppelin

我正在尝试添加 sparkdl (spark-deep-learning) jar 但 Zeppelin 给出错误

ImportError: No module named 'sparkdl'

我正在尝试使用:

spark-deep-learning-0.1.0-spark2.1-s_2.11.jar 

也尝试了0.2.0版本的sparkdl

使用的 Maven 坐标如下

databricks:spark-deep-learning:0.2.0-spark2.1-s_2.11

也试过使用独立jar的路径

python 版本 3.5 火花版本 2.1.1

这实际上很棘手,这里实际上有两个问题。

一方面,出于某种原因,pyspark 在使用以下命令时无法正确加载 jar:

--jars spark-deep-learning-*.jar

因此zeppelin对此无能为力。但是当您将以下选项添加到 pyspark:

时效果很好
--packages databricks:spark-deep-learning:0.2.0-spark2.1-s_2.11

另一方面,zeppelin 似乎无法从 bintray repo 获取包,但是当您 start/restart 您的解释器在 UI。

要解决此问题,您需要 add/modify conf/zeppelin-env.sh 中的以下行并重新启动 zeppelin:

SPARK_SUBMIT_OPTIONS="--packages databricks:spark-deep-learning:0.2.0-spark2.1-s_2.11"

这将使用 spark 而不是 zeppelin 将包加载到 zeppelin 中:

PS: 此解决方案不适用于 zeppelin <0.7