何时坚持以及何时在Spark中解除RDD

时间:2015-11-22 20:40:29

标签: scala hadoop apache-spark rdd

假设我有以下内容:

 val dataset2 = dataset1.persist(StorageLevel.MEMORY_AND_DISK) 
 val dataset3 = dataset2.map(.....)

如果你对数据集2进行转换,那么你必须保留它并将其传递给dataset3并且不使用先前的数据集吗?

我正在试图找出何时坚持和不再使用RDD。每创建一个新的rdd,我必须坚持下去吗?

由于

1 个答案:

答案 0 :(得分:0)

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

参考:http://spark.apache.org/docs/latest/rdd-programming-guide.html#rdd-persistence