【问题标题】:How to import sparkdl in zeppelin如何在 zeppelin 中导入 sparkdl
【发布时间】:2017-10-31 20:42:11
【问题描述】:

我正在尝试添加 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

【问题讨论】:

    标签: apache-spark apache-zeppelin databricks


    【解决方案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 获取包,但是当您在 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 中:

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

    【讨论】:

    • 谢谢你,我把 jar 路径放在 spark.default 中并且它可以工作,但我有新错误 ImportError: No module named sparkdl.image.imageIO
    • 我真的建议您使用 SPARK_SUBMIT_OPTIONS 遵循我的解决方案
    • 我相信它实际上是在同一个问题上。 Zeppelin 无法在执行程序上复制 sparkdl...
    猜你喜欢
    • 2023-01-13
    • 2019-08-18
    • 2020-03-28
    • 2018-12-22
    • 2016-05-26
    • 2018-11-02
    • 2017-04-14
    • 1970-01-01
    • 2018-12-27
    相关资源
    最近更新 更多