如何释放 Pyspark 会话中的内存

Sla*_*vka 6 python apache-spark pyspark

这是我的代码示例:

ses = SparkSession.Builder().config(conf=conf).enableHiveSupport().getOrCreate()
res = ses.sql("select * from tbl")
res.write.format("hive").saveAsTable("tablename"), mode='append')
res.unpersist()
Run Code Online (Sandbox Code Playgroud)

但执行后htop发现,该进程使用了​​63GB RAM。我也尝试过ses.catalog.clearCache(),什么也没有,仍然使用了 63GB。

如何在不重新初始化 Spark 会话的情况下释放内存?

编辑。我还尝试删除res对象,htop 中仍然有 63GB。也尝试过这个,它什么也没打印:

for (id, rdd) in ses.sparkContext._jsc.getPersistentRDDs().items():
    print(id, rdd)
Run Code Online (Sandbox Code Playgroud)