cache 和 checkpoint 的区别?

2021-04-29 20:33发布

6条回答
羊羊羊羊
2021-05-31 11:57

checkpoint检查点的说明
如果依赖血缘关系过长,容错成本会很高,可以设置checkpoint检查点存储RDD中间结果。
checkpoint检查点可以将RDD中间结果存储到HDFS等高可用存储介质中。
checkpoint会切断原有血缘关系。
为了保证checkpoint的数据可靠性,程序在执行时会从血缘关系的最开始执行一遍,所以一般和cache配合使用,以提高效率。
checkpoint同样也是遇到action算子才会执行。


cache缓存的说明
RDD通过调用cache方法将前面的计算结果缓存到内存或磁盘,默认缓存到JVM内存中。
如果后面的计算还有需要此RDD的计算结果,可以直接从缓存中获取,而不用重新计算。
cache缓存不会切断原有血缘关系,只会增加血缘关系。
cache不会立即执行,当第一次遇到action算子时才会真正执行。
cache缓存不管存储到内存还是存储到磁盘,都会随着程序执行结束而销毁。


一周热门 更多>