Я хочу остановить процесс Spark - JVM всякий раз, когда я выполняю pyspark.sql.session.stop из процесса Python.
Всякий раз, когда я вызываю метод stop () для pyspark.sql.session.SparkSession, создается впечатление, что SparkContext эффективно завершается, но запущенный экземпляр JVM все еще там.
Я исследовал, и сторона JVM продолжает запускать экземпляры классов PythonGatewayServer, которые открывают сокет сервера, работающий бесконечно, пока не завершится процесс Python.
from pyspark.sql.session import SparkSession
spark = SparkSession.builder.getOrCreate()
spark.stop()
# Now execute from a system shell
# ps aux | grep pyspark-shell
Я ожидаю, что процесс JVM завершится изящно, вместо того, чтобы ждать завершения процесса Python.