【问题标题】: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-csv 的 spark-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 中调用的脚本中执行两行代码(导出 ...)。