Spark 中有效的内存管理?

Effective Memory Management in Spark?

Spark 中是否有有效内存管理的定义标准

如果我最终创建了几个 DataFrame 或 RDD,然后继续使用连接和聚合减少这些数据怎么办?

在会话或作业完成之前,这些 DataFrame 或 RDD 是否仍会持有资源??

不,没有。 Spark 中主要实体(即 RDD)的生命周期是通过其沿袭定义的。当你的工作调用一个动作时,整个 DAG 将开始执行。如果作业成功执行,Spark 将释放所有保留的资源,否则将尝试重新执行失败的任务并根据其沿袭重建丢失的 RDD。

请查看以下资源以熟悉这些概念:

What is the difference between RDD Lineage Graph and Directed Acyclic Graph (DAG) in Spark?