【问题标题】:How to add spark-csv package to jupyter server on Azure for use with iPython如何将 spark-csv 包添加到 Azure 上的 jupyter 服务器以与 iPython 一起使用
【发布时间】:2016-01-27 14:55:54
【问题描述】:

我想在 Azure 上 Spark HDInsight 群集上运行的 jupyter 服务中使用来自 https://github.com/databricks/spark-csvspark-csv 包。

从本地集群我知道我可以这样做:

export PACKAGES="com.databricks:spark-csv_2.11:1.3.0"
export PYSPARK_SUBMIT_ARGS="--packages ${PACKAGES} pyspark-shell"

但是我不明白/不知道将它放在 Azure spark 配置中的哪个位置。任何线索提示都表示赞赏。

【问题讨论】:

    标签: azure apache-spark pyspark azure-hdinsight


    【解决方案1】:

    您可以使用%%configure 魔法添加任何所需的外部包。 它应该就像将以下 sn-p 放入您的第一个代码单元中一样简单。

    %%configure
    { "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
    

    documentation 中也介绍了此具体示例。只需确保在%%configure 单元之后启动 Spark 会话。

    【讨论】:

      【解决方案2】:

      从 Jupyter 笔记本管理集群中的 Spark 包的一个选项是 Apache Toree。 Toree 为您提供了一些额外的魔法,允许您从 Jupyter 笔记本中管理 Spark 包。例如,在 Jupyter scala 笔记本中,您可以使用

      安装 spark-csv
      %AddDeps com.databricks spark-csv_2.11 1.4.0 --transitive
      

      要在您的 Spark 集群上安装 Apache Toree,请通过 ssh 进入您的 Spark 集群并运行,

      sudo pip install --pre toree
      sudo jupyter toree install \
         --spark_home=$SPARK_HOME \
         --interpreters=PySpark,SQL,Scala,SparkR 
      

      我知道您特别询问了运行 PySpark 的 Jupyter 笔记本。目前,Apache Toree 是一个孵化项目。我在使用提供的线魔法和 pyspark 笔记本时遇到了麻烦。也许你会有更好的运气。我正在研究为什么会这样,但就个人而言,我更喜欢 Spark 中的 Scala。希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        您可以尝试在创建 HDInsight 群集时在 Azure 中调用的脚本中执行两行代码(导出 ...)。

        【讨论】:

          【解决方案4】:

          由于您使用的是 HDInsight,因此您可以对导入所需库的 Spark 群集负载使用“脚本操作”。该脚本可以是一个非常简单的 shell 脚本,它可以在启动时自动执行,如果集群调整大小,它会在新节点上自动重新执行。

          https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-customize-cluster-linux/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-08-29
            • 2015-05-04
            • 1970-01-01
            • 1970-01-01
            • 2010-10-05
            • 1970-01-01
            相关资源
            最近更新 更多