杀死一个SparkContext,这样我就可以创建一个新的

时间:2017-09-16 19:55:23

标签: apache-spark pyspark rdd

尝试为pyspark v2.1.1运行Jupyter Notebook设置,但每次我尝试实例化上下文(刚重新启动的内核和derby.log文件以及metastore_db dir都被删除)时,我收到以下错误告诉我一个上下文已经在运行。

ValueError: Cannot run multiple SparkContexts at once; 
existing SparkContext(app=PySparkShell, master=local[16]) created by 
<module> at /home/ubuntu/anaconda2/lib/python2.7/site-packages/IPython/utils/py3compat.py:289

我已经尝试重新启动内核并删除了derby.log,并尝试通过应用程序名称加载该上下文并在错误中给出主控,然后停止上下文无效:

sc = SparkContext(app='PySparkShell', master='local[16]')
sc.stop()

有没有人遇到这个问题并且知道如何在发生这种情况时让Jupyter笔记本中的上下文运行?

1 个答案:

答案 0 :(得分:2)

因此,不要弄清楚如何杀死已经运行的Spark Context,显然你可以通过调用

来“获取”(或“创建”)已经创建的上下文
from pyspark import  SparkContext
sc = SparkContext.getOrCreate()

在你的jupyter笔记本的开头。