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 |