这是我的代码示例:
ses = SparkSession.Builder().config(conf=conf).enableHiveSupport().getOrCreate()
res = ses.sql("select * from tbl")
res.write.format("hive").saveAsTable("tablename"), mode='append')
res.unpersist()
但是在执行htop
后,该进程使用了63GB的RAM。我也尝试过ses.catalog.clearCache()
,什么也没用,仍然使用了63GB。
如何在不重新初始化spark会话的情况下释放内存?
编辑。
我也尝试删除res
对象,该对象在htop中仍为63gb。
也尝试过此操作,它什么都不打印:
for (id, rdd) in ses.sparkContext._jsc.getPersistentRDDs().items():
print(id, rdd)