需要释放未使用的 spark dataframes 使用的内存
Need to release the memory used by unused spark dataframes
我没有缓存或保留 spark 数据帧。如果我必须在同一个会话中通过聚合和修改数据帧的内容作为流程的一部分来做很多额外的事情,那么何时以及如何从内存中释放初始数据帧?
示例:
我加载了一个包含 1000 万条记录的数据框 DF1。然后我对创建新数据框 DF2 的数据框进行一些转换。然后是我在 DF2 上执行的一系列 10 个步骤。通过这一切,我不再需要 DF1 了。我如何确定 DF1 不再存在于内存中并影响性能?有什么方法可以直接从内存中删除 DF1 吗?或者 DF1 是否根据最近最少使用 (LRU) 方法自动删除?
Spark 不是这样工作的。 Dataframes 是惰性的......唯一存储在内存中的是结构和你对它们所做的转换列表。数据不存储在内存中(除非您缓存它们并应用操作)。
因此,我看不出你的问题有什么问题。
我没有缓存或保留 spark 数据帧。如果我必须在同一个会话中通过聚合和修改数据帧的内容作为流程的一部分来做很多额外的事情,那么何时以及如何从内存中释放初始数据帧?
示例:
我加载了一个包含 1000 万条记录的数据框 DF1。然后我对创建新数据框 DF2 的数据框进行一些转换。然后是我在 DF2 上执行的一系列 10 个步骤。通过这一切,我不再需要 DF1 了。我如何确定 DF1 不再存在于内存中并影响性能?有什么方法可以直接从内存中删除 DF1 吗?或者 DF1 是否根据最近最少使用 (LRU) 方法自动删除?
Spark 不是这样工作的。 Dataframes 是惰性的......唯一存储在内存中的是结构和你对它们所做的转换列表。数据不存储在内存中(除非您缓存它们并应用操作)。
因此,我看不出你的问题有什么问题。