在 Cloud Data Science Experience 中安装 BigDL

Install BigDL in Data Science Experience on Cloud

我想在有关云数据科学体验的笔记本中使用Intel BigDL

如何安装?

如果您的笔记本由 DSX 中的 Apache Spark 即服务实例支持,则安装 BigDL 很简单。但是你得先收集一些版本信息。

  1. 哪个 Spark 版本?目前,2.1 是 DSX 支持的最新版本。
    使用 Python,您只能为每个服务的一个 Spark 版本安装 BigDL。
  2. 哪个 BigDL 版本?目前最新的是0.3.0,支持Spark 2.1
    如有疑问,请检查 download page。 Spark 修复级别无关紧要。

根据此信息,您可以确定 Maven 存储库中所需 BigDL JAR 文件的 URL。 对于示例版本,BigDL 0.3.0 和 Spark 2.1,下载 URL 是
https://repo1.maven.org/maven2/com/intel/analytics/bigdl/bigdl-SPARK_2.1/0.3.0/bigdl-SPARK_2.1-0.3.0-jar-with-dependencies.jar

对于其他版本,请根据需要替换URL中的0.3.0和2.1。请注意,这两个版本出现了两次,一次在路径中,一次在文件名中。

正在为 Python

安装

您需要 JAR 和匹配的 Python 包。 Python 包只依赖于 BigDL 的版本,不依赖于 Spark 的版本。 可以从 Python 笔记本执行安装步骤:

  1. 安装 JAR。

    !(export sv=2.1 bv=0.3.0 ; cd ~/data/libs/ && wget  https://repo1.maven.org/maven2/com/intel/analytics/bigdl/bigdl-SPARK_${sv}/${bv}/bigdl-SPARK_${sv}-${bv}-jar-with-dependencies.jar)
    

    这里,Spark(sv)和BigDL(bv)的版本被定义为环境变量,因此您可以轻松调整它们而无需更改URL。

  2. 安装 Python 模块。

    !pip install bigdl==0.3.0 --no-deps | cat
    

    如果要在 Python 版本之间切换笔记本,请对每个 Python 版本执行一次此步骤。 (没有 --no-deps,将安装冲突版本的 pyspark。)

重启notebook内核后,BigDL就可以使用了。

(不)为 Scala 安装

如果您按照上述 Python 安装 JAR,它也可以在 Scala 内核中使用。

如果您想将 BigDL 专门用于 Scala,最好根本不要安装 JAR。相反,在笔记本的开头使用 %AddJar 魔法。最好在第一个代码单元中执行此操作,以避免 class 加载问题。

%AddJar https://repo1.maven.org/maven2/com/intel/analytics/bigdl/bigdl-SPARK_2.1/0.3.0/bigdl-SPARK_2.1-0.3.0-jar-with-dependencies.jar

通过不安装 JAR,您可以灵活地在共享相同服务的不同 Scala 笔记本中使用不同版本的 Spark 和 BigDL。一旦你安装了一个 JAR,你很可能 运行 与你用 %AddJar.

拉入的那个发生冲突

清理

如果您想安装不同版本的 BigDL,您必须先进行清理。以下是检查已安装和删除安装内容的命令。从 Python 笔记本执行这些命令。

  • 检查安装了什么 JAR。如果输出为空,则安装 none。

    !find ~/data/libs -name bigdl-\*
    
  • 检查安装了什么 Python 模块。如果输出为空,则表示未安装 BigDL。

    !pip freeze | grep -i BigDL
    
  • 删除已安装的 BigDL JAR。

    !find ~/data/libs -name bigdl-\* -exec rm -vf {} +
    
  • 删除为当前 Python 版本安装的 BigDL Python 模块。

    !rm -rf ~/.local/lib/python${_py_version_}/site-packages/{bigdl,BigDL}*
    

    如果重新安装失败并显示 消息,还执行:

    !rm -rf $PIP_BUILD
    

DSX 现在支持 BigDL。请在此处查看包含详细信息的博客:https://medium.com/ibm-data-science-experience/using-bigdl-in-data-science-experience-for-deep-learning-on-spark-f1cf30ad6ca0?source=collection_home---4------1----------------