尝试为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笔记本中的上下文运行?
答案 0 :(得分:2)
因此,不要弄清楚如何杀死已经运行的Spark Context,显然你可以通过调用
来“获取”(或“创建”)已经创建的上下文from pyspark import SparkContext
sc = SparkContext.getOrCreate()
在你的jupyter笔记本的开头。