【发布时间】:2019-02-28 02:19:02
【问题描述】:
Spark 中是否有定义有效内存管理的标准
如果我最终创建了几个 DataFrame 或 RDD,然后通过连接和聚合继续减少这些数据怎么办?
在会话或作业完成之前,这些 DataFrame 或 RDD 是否仍会持有资源??
【问题讨论】:
标签: apache-spark dataframe apache-spark-sql out-of-memory
Spark 中是否有定义有效内存管理的标准
如果我最终创建了几个 DataFrame 或 RDD,然后通过连接和聚合继续减少这些数据怎么办?
在会话或作业完成之前,这些 DataFrame 或 RDD 是否仍会持有资源??
【问题讨论】:
标签: apache-spark dataframe apache-spark-sql out-of-memory
不,没有。 Spark 中的主要实体(即 RDD)的生命周期是通过其血统定义的。当您的作业调用某个操作时,整个 DAG 将开始执行。如果作业成功执行,Spark 将释放所有保留的资源,否则将尝试重新执行失败的任务并根据其血统重建丢失的 RDD。
请查看以下资源以熟悉这些概念:
What is the difference between RDD Lineage Graph and Directed Acyclic Graph (DAG) in Spark?
【讨论】: