Spark中cache、persist、checkPoints函数区别详解

在这里插入图片描述

文章目录

下面是三个函数的详细介绍以及它们之间的对比:

  1. cache()

    • cache()persist()的一种特殊形式,使用cache()方法,默认的存储级别是 MEMORY_ONLY。这意味着RDD的数据会被存储在节点的内存中。如果内存空间不足以容纳所有数据,则部分未能存入缓存的数据将在需要的时候重新计算,而不是被保存到磁盘上。对于 MEMORY_AND_DISK 这个存储级别,如果内存空间不足以容纳所有数据,那么溢出的部分数据会被保存到磁盘上,这可以通过 persist(StorageLevel.MEMORY_AND_DISK) 来实现。
    • 当RDD的数据被计算后,它将保持在节点内存中,从而在后续操作中可以快速访问。
    • 不会切断RDD的依赖关系。
  2. persist(storageLevel: StorageLevel)

    • persist()允许用户选择不同的存储级别(包括MEMORY_ONLYMEMORY_AND_DISKMEMORY_ONLY_SER等)。
    • cache()

猜你喜欢

转载自blog.csdn.net/m0_47256162/article/details/132380349