spark_05_RDD持久化
RDD持久化
rdda => rddb =>rddc action
rdda => rddb =>rdde action
rddb 持久化操作 =》 调优的
操作:
1.persist() or cache() methods
2.触发action之后 会对rdd数据进行持久化的
总结:
1.cache() 不是action算子 是lazy 是懒加载的
-
rdda => action job
rdda => cache => action job => rdd持久化 生效
rdda => action job rdda的数据从 rdd持久化的地方加载数据rdda => rddb => rddc
rdda => rddb => rdde
rdda => rddb => rddfrddb.cache 之后 rddb之后数据就不用从头开机计算 提升计算效率
补充:
对rdd做持久化 就是对rdd里面的分区做持久化好处:
1.much faster 【计算效率】
2. reuse 复用
cache vs persist 区别:
1.cache底层就是调用 persist算子
2.spark-core 持久化 默认存储级别:StorageLevel.MEMORY_ONLY
StorageLevel:
private var _useDisk: Boolean,
private var _useMemory: Boolean,
private var _useOffHeap: Boolean,
private var _deserialized: Boolean,
private var _replication: Int = 1
val NONE = new StorageLevel(false, false, false, false)
val DISK_ONLY = new StorageLevel(true, false, false, false)
val DISK_ONLY_2 = new StorageLevel(true, false, false, false, 2)
val DISK_ONLY_3 = new StorageLevel(true