在缓存稍后出现在同一沿袭图中的rdd之后,您是否应始终取消先前缓存的rdd?

时间:2017-11-17 20:49:36

标签: apache-spark caching amazon-s3

我有一个rdd,我在从s3加载数据后缓存,因为如果我丢失了执行程序,我不想从s3重新提取。然后我在该rdd上进行了一系列转换,然后再次缓存。

此时,是否有任何理由将第一个缓存的rdd保留在缓存中?如果我不再使用早期的rdd,那么所有后期阶段是否会从最近缓存的转换中拉出来?

1 个答案:

答案 0 :(得分:0)

  

如果我失去执行人,我不想从s3重新开始。

默认caching变体不会保护您免受遗嘱执行人员的损失。 Spark提供了复制的cache选项(MEMORY_ONLY_SER_2MEMORY_AND_DISK_SER_2DISK_ONLY_2),这些选项在节点发生故障时添加了一些保护,但是比非复制变体更昂贵。

  

有没有理由将第一个缓存的rdd留在缓存中?

如果第二个已经实现,那么没有理由保留第一个,但如果有必要,LRU清洁工应该能够在没有你帮助的情况下处理这个案例。