import org.apache.spark.storage.StorageLevel
// 數據持久緩存到內存中
//data.cache()
data.persist()
// 設置緩存級別
data.persist(StorageLevel.DISK_ONLY)
// 清除緩存
data.unpersist
//data.unpersist(blocking=true)
級別 | 使用空間 | CPU時間 | 是否在內存中 | 是否在磁盤上 | 備注 |
MEMORY_ONLY | 高 | 低 | 是 | 否 | |
MEMORY_ONLY_2 | 高 | 低 | 是 | 否 | 數據存2份 |
MEMORY_ONLY_SER | 低 | 高 | 是 | 否 | 數據序列化 |
MEMORY_ONLY_SER_2 | 低 | 高 | 是 | 否 | 數據序列化,數據存2份 |
MEMORY_AND_DISK | 高 | 中等 | 部分 | 部分 | 如果數據在內存中放不下,則溢寫到磁盤 |
MEMORY_AND_DISK_2 | 高 | 中等 | 部分 | 部分 | 數據存2份 |
MEMORY_AND_DISK_SER | 低 | 高 | 部分 | 部分 | |
MEMORY_AND_DISK_SER_2 | 低 | 高 | 部分 | 部分 | 數據存2份 |
DISK_ONLY | 低 | 高 | 否 | 是 | |
DISK_ONLY_2 | 低 | 高 | 否 | 是 | 數據存2份 |
NONE | |||||
OFF_HEAP |