checkpoint

checkpoint,用来保存中间计算的结果,一般把结果保存到hdfs上。而且checkpoint一般和cache或者persist连用,

想要中间计算的结果,会先去cache的内存里面找,或者persist保存的本地磁盘,如果没有再去招checkpoint的,

要注意,cache的丢失了,顶多是往上游shuffle write落盘到磁盘的地方去要数据,或者去数据源头要数据。

而checkpoint保存在hdfs上的数据要是丢了,则会直接报错,要重新重头开始计算。

下面是checkpoint的一部分源码,它会先去判断storageLevel(只有persist才有)是否存在,存在就直接去拿,否则就要去检测checkpoint,有的话就去父RDD处拿对应的迭代器,迭代器去hdfs拿存的数据。没有就一层层往上继续要数据了,重新计算。

posted @ 2022-03-29 19:36  习惯了蓝  阅读(504)  评论(0)    收藏  举报