spark从入门到放弃二十一:Spark 性能优化(4)对多次使用的RDD进行持久化或者checkpoint

文章地址:http://www.haha174.top/article/details/254892

spark从入门到放弃二十一:Spark 性能优化(4)对多次使用的RDD进行持久化或者checkpoint_第1张图片
这里写图片描述

如图在这里可以很清楚的看到对一个RDD前后进行了两次操作。在第一次的时候先计算出一个RDD然后计算出第二个RDD继续往后计算。
但是对第二次RDD操作在执行的时候,由于RDD数据在执行完成之后很有可能会被立即丢弃那么这个时候就需要重新计算第一个和第二个RDD了

我们可以把第二个RDD的计算结果进行持久化放入到BlockManager。

这个时候第二次计算这个RDD的时候直接从BlockManager中取数据不需要在在一次计算第一和第二次RDD。
但是有可能存储在BlockManager中的数据会丢失掉那么在第二次计算这个RDD的时候发现没有数据会尝试取检索checkpoint的值如果读取失败则需要重新计算。
所以针对这种情况那么在第一次计算RDD的时候将数据存入到checkpoint。哪怕数据丢失了也可以在checkpoint 中找到。

欢迎关注,更多福利

spark从入门到放弃二十一:Spark 性能优化(4)对多次使用的RDD进行持久化或者checkpoint_第2张图片
这里写图片描述

你可能感兴趣的:(spark从入门到放弃二十一:Spark 性能优化(4)对多次使用的RDD进行持久化或者checkpoint)