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都复制到两个节点

 

 

17.RDD Persistence 持久化