首页 > 解决方案 > 使用 pyspark 创建 sparksession 后是否需要停止 spark?

问题描述

所以我有这个:

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("NewSpark").getOrCreate()

我听说你完成后需要停止火花,但在我的情况下这是必要的,因为它只是一个 python 程序?

标签: pythonpyspark

解决方案


spark如果对象被破坏或脚本退出,会话将关闭。所以你不应该担心“悬空连接”或类似的事情。

但是,如果您想要在脚本末尾执行一堆非 Spark 工作,那么尽早停止会话以避免保持该连接处于打开状态可能仍然是一个好主意。

请注意,您可以将SparkSession对象用作上下文管理器以在范围结束时自动停止它:

with SparkSession.builder.appName("NewSpark").getOrCreate() as spark:
    # do stuff
    # ...

# spark.stop() gets called automatically here

推荐阅读