首页 > 解决方案 > 在 Python 解释器中停止 SparkContext

问题描述

我在 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() 。

我尝试传入sc.stop()python解释器。但它并没有停止 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 解释器来关闭上下文。问题在于,对于我的代码中的每一个小测试,我都必须打开一个解释器并再次运行导入命令。

标签: pythonshellapache-sparkpysparkinterpreter

解决方案


推荐阅读