1. 存储位置
- Persist和Cache只能保存在本地的磁盘和内存汇总(或者堆外内存)
- Checkpoint可以保存数据到HDFS这类可靠的存储上
2. 生命周期
- Cache和Persist的RDD会在程序结束后会被清楚或者手动调//;/的RDD在程序结束后依然存在,不会被删除
3. Lineage(血统、依赖链、依赖关系)
- Persist和Cache,不会丢掉RDD件的依赖链/依赖关系,因为这种缓存是不可靠的,如果出现了一些错误(例如Executor宕机),需要通过回溯依赖链重新计算出来
- Checkpoint会斩断依赖链,因为Checkpoint会把结果保存在HDFS这类存储中,更加的安全可靠,一般不需要回溯依赖链;