每当我从Python进程执行pyspark.sql.session.stop时,我都希望停止Spark-JVM进程。
每当我在pyspark.sql.session.SparkSession上调用stop()方法时,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进程终止。