初始化 PySpark 以预定义 SparkContext 变量'sc'



使用pyspark时,我希望在创建新笔记本时初始化SparkContext(在纱线客户端模式下(。

以下教程描述了如何在过去版本的ipython/jupyter<4

https://www.dataquest.io/blog/pyspark-installation-guide/

https://npatta01.github.io/2015/07/22/setting_up_pyspark/

我不太确定如何使用笔记本> 4实现,如http://jupyter.readthedocs.io/en/latest/migrating.html#since-jupyter-does-not-have-not-have-profiles-do-i-customize-it

我可以手动创建和配置SparkContext,但我不希望我们的分析师不必担心。

有人有任何想法吗?

好吧,jupyter中缺少的配置文件功能也使我感到困惑,尽管这是出于不同的原因 - 我希望能够在不同的深度学习框架之间切换(theano& tensorflow(一经请求;最终我找到了解决方案(在我的博客文章中描述(。

事实是,尽管Jupyter中没有配置文件,但 ipython 内核的启动文件功能仍然存在,并且由于Pyspark使用此特定的内核,因此可以在您的中使用。案例。

so,只要您已经有一个适用于jupyter的pyspark内核,您要做的就是编写一个简短的初始化脚本init_spark.py,如下所示:

from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("yarn-client")
sc = SparkContext(conf = conf)

并将其放在用户的~/.ipython/profile_default/startup/目录中。

您可以确认启动Jupyter笔记本后现在已经设置了sc

 In [1]: sc
 Out[1]:<pyspark.context.SparkContext at 0x7fcceb7c5fd0>
 In [2]: sc.version
 Out[2]: u'2.0.0'

整合Pyspark&amp;jupyter笔记本在我的回答中描述了。

如下所述,第三种方法是尝试Apache Toree(以前是Spark内核((虽然尚未对其进行测试(。

最新更新