checkpoint
checkpoint,用来保存中间计算的结果,一般把结果保存到hdfs上。而且checkpoint一般和cache或者persist连用,
想要中间计算的结果,会先去cache的内存里面找,或者persist保存的本地磁盘,如果没有再去招checkpoint的,
要注意,cache的丢失了,顶多是往上游shuffle write落盘到磁盘的地方去要数据,或者去数据源头要数据。
而checkpoint保存在hdfs上的数据要是丢了,则会直接报错,要重新重头开始计算。

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



浙公网安备 33010602011771号