如何在齐柏林飞艇中导入sparkdl

时间:2017-10-31 06:02:39

标签: apache-spark apache-zeppelin databricks

我试图添加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 spark版本2.1.1

1 个答案:

答案 0 :(得分:0)

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

从一方面出于某种原因,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获取程序包,但在UI中启动/重新启动解释程序时会产生错误。

要解决此问题,您需要在conf/zeppelin-env.sh中添加/修改以下行并重新启动zeppelin

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

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

enter image description here

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