帮助pyspark从内存中删除特定的Dataframe

fnvucqvd  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(795)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

上个月关门了。
改进这个问题
我们有一个庞大的pyspark作业,它使用许多数据源并执行连接和查找。一些参考文件和中间文件是非常巨大的,我们不使用他们以后太多。
我们面临的问题:
当我们试图将最终的数据文件合并到s3(根据需要作为单个csv)时,这个大笔记本会产生问题,合并需要15分钟以上的时间,影响管道的整体运行时间。
我们甚至更新了驱动程序内存来缓解这个问题。但我们现在也在检查如何回收内存以减少合并时间
请求-
有什么方法可以取消Dataframe的持久性吗
我试过的

df1.unpersist()
df1.unpersist(True)

但即使我尝试了上述方法,Dataframe仍然可以被引用。
解除Dataframe持久化的正确方法是什么。
注意-我们在emr上使用pyspark

w6mmgewl

w6mmgewl1#

我不知道你要写的数据有多少,但是 coalesce(1) 正在将整个数据复制到一个节点,然后尝试将其写下来(仅从一个节点)。。。这就是为什么要花很长时间来执行。与释放内存无关

相关问题