在Python解释器中停止SparkContext

时间:2019-03-03 00:31:14

标签: python shell apache-spark pyspark interpreter

我在test_spark.py文件中有一个功能runTests(sc)

我正在test_spark所在的目录中打开一个python解释器,并运行以下命令。

from pyspark import SparkContext
sc = SparkContext()

from test_spark import runTests
runTests(sc)

runTests方法中的代码正在按我的预期执行,但是我无法停止SparkContext sc。我尝试在runTests()函数的最后写入sc.stop()。

我尝试在python解释器中传递sc.stop()。但这并没有停止SparkContext。

下面是我要检查的代码

sc
<SparkContext master=local[*] appName=pyspark-shell>

sc._jsc.sc().isStopped()
False

sc.stop()
sc._jsc.sc().isStopped()
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'sc'

sc
<SparkContext master=local[*] appName=pyspark-shell>

我只能通过退出python解释器来关闭上下文。问题在于,对于我代码中的每个小测试,我都必须打开一个解释器,然后再次运行导入命令。

0 个答案:

没有答案