假设我有以下内容:
val dataset2 = dataset1.persist(StorageLevel.MEMORY_AND_DISK)
val dataset3 = dataset2.map(.....)
如果你对数据集2进行转换,那么你必须保留它并将其传递给dataset3并且不使用先前的数据集吗?
我正在试图找出何时坚持和不再使用RDD。每创建一个新的rdd,我必须坚持下去吗?
由于
答案 0 :(得分:0)
Spark会自动监视每个节点上的缓存使用情况,并以最近最少使用(LRU)的方式删除旧数据分区。如果您想手动删除RDD而不是等待它从缓存中删除,请使用RDD.unpersist()方法。
参考:http://spark.apache.org/docs/latest/rdd-programming-guide.html#rdd-persistence