Spark Core -- CheckPoint && Cache && Lineage血统

1、Cache缓存:

        因为Spark中对每一个RDD执行的算子操作的时候,都需要从数据源头计算一遍,就会导致RDD被重复计算,浪费资源,消耗时间,影响整体的性能。

        所以对于多次使用的RDD,可以使用Cache进行缓存

                1、缓存默认是缓存到内存中

                2、相当于persist(StorageLevel.MEMORY_ONLY),所以还可以通过指定persist结合StorageLevel来制定不同的缓存策略

Spark Core -- CheckPoint && Cache && Lineage血统_第1张图片

Spark Core -- CheckPoint && Cache && Lineage血统_第2张图片

对于使用的缓存策略是如何选择?

        1、如果内存充足,直接使用MEMORY_ONLY

        2、对于内存放不下:可以使用MEMORY_AND_DISK_SER,因为该模式可以对数据进行序列化,对数据具有一定的压缩的作用。

        3、在使用结束的时候,需要释放资源

import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
import org.apache.spark.storage.StorageLevel

object Demo22C

你可能感兴趣的:(Spark,3.1.3,spark,大数据,分布式,1024程序员节)