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 MEMORY_ONLY = new StorageLevel(false, true, false, true)
val MEMORY_ONLY_2 = new StorageLevel(false, true, false, true, 2)
val MEMORY_ONLY_SER = new StorageLevel(false, true, false, false)
val MEMORY_ONLY_SER_2 = new StorageLevel(false, true, false, false, 2)
val MEMORY_AND_DISK = new StorageLevel(true, true, false, true)
val MEMORY_AND_DISK_2 = new StorageLevel(true, true, false, true, 2)
val MEMORY_AND_DISK_SER = new StorageLevel(true, true, false, false)
val MEMORY_AND_DISK_SER_2 = new StorageLevel(true, true, false, false, 2)
val OFF_HEAP = new StorageLevel(true, true, true, false, 1)
加粗“_2”表示持久化存储份数为两份
StorageLevel有五个属性分别是:
private var _useDisk: Boolean, //useDisk_是否使用磁盘
private var _useMemory: Boolean, //useMemory_是否使用内存
private var _useOffHeap: Boolean, //useOffHeap_是否使用堆外内存如:Tachyon,
private var _deserialized: Boolean,//deserialized_是否进行反序列化
private var _replication: Int = 1) //replication_备份数目。
可以通过序列化减少内存占用量,但会降低效率