Apache spark Spark作业完成后,持久化RDD会发生什么情况?

Apache spark Spark作业完成后,持久化RDD会发生什么情况?,apache-spark,Apache Spark,一旦Spark任务成功完成,持久化Spark RDD会发生什么情况 我们是否也需要显式地为unpersist编写一些代码 或 对于每个持久化的RDD,是否会自动取消持久化?spark的官方文档说 Spark会自动监视每个节点上的缓存使用情况,并以最近最少使用(LRU)的方式删除旧数据分区。如果要手动删除RDD,而不是等待它从缓存中掉出来,请使用RDD.unpersist()方法 请看一看 我们是否也需要显式地为unpersist编写一些代码 对 对于每个持久化的RDD,是否会自动取消持久化 不,

一旦Spark任务成功完成,持久化Spark RDD会发生什么情况

我们是否也需要显式地为unpersist编写一些代码


对于每个持久化的RDD,是否会自动取消持久化?

spark的官方文档说

Spark会自动监视每个节点上的缓存使用情况,并以最近最少使用(LRU)的方式删除旧数据分区。如果要手动删除RDD,而不是等待它从缓存中掉出来,请使用RDD.unpersist()方法

请看一看

我们是否也需要显式地为unpersist编写一些代码

对于每个持久化的RDD,是否会自动取消持久化

不,您需要通过调用
RDD.unpersist()


df1.unpersist()


并且总是在沿袭结束后,在涉及持久化/缓存df的最后一个操作之后,取消持久化df

是的,当然。。非常感谢你清晰的回答。在最后一个操作之后,我将取消持久化我的DF。@sanket:如果我的Spark工作中只有一个操作,那么持久化RDD是一种好的做法吗。如果我坚持使用RDD,在性能方面有什么好处吗