persist、cache和checkPoint
使用场景
1、某个rdd被多次用到时。
2、某个rdd比较重要,或者处理流程多,血缘长时。
相同点
都将数据持久化提高效率。
不同点
1、cache底层用的是persist,但策略是MEMORY_ONLY,只将数据保存在内存中。好处是效率较高,缺点是不安全,如果数据量大,可能引起内存溢出。
2、persist可以选择持久化策略,使用较多的MEMORY_AND_DISK,持久化首选,如果内存不够,则写入磁盘。因为可能有磁盘io,所以效率较cache低,但更安全。
3、cache和persist持久化不会切断rdd的血缘关系,并且当任务结束后,持久化的数据会被清除。
4、checkPoint持久化会切断rdd血缘关系,将数据保存到磁盘中,类似重新生成了数据源。并且任务结束后数据不会被清除,可以被其他任务复用。通常checkPoint前,先将数据cache到内存中,提高效率。
spark数据持久化
最新推荐文章于 2022-11-21 16:50:58 发布