SparkRDD缓存策略

来源:互联网 发布:gnu与linux 编辑:程序博客网 时间:2024/06/06 01:12

StorageLevel关键属性

原则  可以使用内存 就不要使用磁盘了 


useDisk_ 是否使用磁盘useMemory_是否使用内存deserialized_是否进行反序列化(即原生方式,不序列化)replication_备份数目








存储级别描述MEMORY_ONLY

将RDD 作为反序列化的的对象存储JVM 中。如果RDD不能被内存装下,一些分区将不会被缓存,并且在需要的时候被重新计算。
这是是默认的级别
MEMORY_AND_DISK将RDD 作为反序列化的的对象存储在JVM 中。如果RDD不能被与内存装下,超出的分区将被保存在硬盘上,并且在需要时被读取MEMORY_ONLY_SER
将RDD 作为序列化的的对象进行存储(每一分区占用一个字节数组)。
通常来说,这比将对象反序列化的空间利用率更高,尤其当使用fast serializer,但在读取时会比较占用CPU
MEMORY_AND_DISK_SER与MEMORY_ONLY_SER 相似,但是把超出内存的分区将存储在硬盘上而不是在每次需要的时候重新计算DISK_ONLY只将RDD 分区存储在硬盘上DISK_ONLY_2等带2的与上述的存储级别一样,但是将每一个分区都复制到两个集群结点上

0 0