17.RDD Persistence 持久化
1.方法
方法 | 说明 |
---|---|
RDD.persist | 可以指定存储等级,默认MEMORY_ONLY |
RDD.unpersist | 取消 |
2.存储级别
(1)MEMORY_ONLY
以Java对象反串行化在JVM内存中,如果过大就无法完全存储在内存中,多余的不会存储在内存中,是使用需要的话重新计算
(2)MEMORY_AND_DISK
以Java对象反串行化在JVM内存中,如果过大就无法完全存储在内存中,多余的会存储在磁盘中,是使用需要的话从磁盘中获取
(3)MEMORY_ONLY_SER
和MEMORY_ONLY类似,以Java对象串行化存储,需要使用时需要反串行化,相对会多使用CPU资源,但会省内存存储空间
(4)MEMORY_AND_DISK_SER
和MEMORY_ONLY_SER类似,但是会将多余的RDD partitions存储在硬盘中
(5)DISK_ONLY
存储在RDD硬盘中
(6)MEMORY_ONLY_2,MEMORY_AND_DISK_2,etc
同上,但每个RDD partitions都复制到两个节点