RDD缓存策略
来源:互联网 发布:美国就业率数据2017 编辑:程序博客网 时间:2024/05/21 11:01
park支持将数据集放置在集群的缓存中,以便于数据重用。
Spark缓存策略对应的类:
class StorageLevel private(
private var useDisk_ : Boolean,
private var useMemory_ : Boolean,
private var useOffHeap_ : Boolean,
private var deserialized_ : Boolean,
private var replication_ : Int = 1)
}
object StorageLevel {
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(false, false, true, false)
}
序列化后的对象存放在内存中,占用的内存少,但是用时需要反序列化,会消耗CPU;
个人推荐:如果内存使用紧张但是CPU够用时建议考虑使用序列化后缓存;或者是选择性能更好的序列化工具。
可选用的存储级别有如下:
存储级别描述MEMORY_ONLY
注意:
1)spark默认存储策略为MEMORY_ONLY:只缓存到内存并且以原生方式存(反序列化)一个副本;
2)MEMORY_AND_DISK存储级别在内存够用时直接保存到内存中,只有当内存不足时,才会存储到磁盘中。
详细信息参见官方文档:http://spark.apache.org/docs/latest/programming-guide.html
- RDD缓存策略
- Sprak RDD缓存
- Spark RDD 缓存
- Spark RDD的缓存 rdd.cache() 和 rdd.persist()
- Spark RDD的缓存 rdd.cache() 和 rdd.persist()
- Spark RDD持久化策略
- 缓存策略;
- 缓存策略
- 缓存策略
- 缓存策略
- Spark RDD缓存代码分析
- Spark RDD缓存代码分析
- Spark RDD缓存代码分析
- Spark RDD缓存代码分析
- [spark] RDD缓存源码解析
- 缓存系列--缓存策略
- RDD的创建 操作类型 缓存
- 缓存Memcached以及缓存策略
- Spring-AOP切面编程总结
- win32API学习中遇到的一些问题
- 【BZOJ 2435】【NOI 2011】道路修建【水题】
- 【转载】Windows下MySQL绿色版安装配置与使用
- [HbFS-]Red is good
- RDD缓存策略
- poj2503用STL的map解决
- ssh--1.网上商城前期准备
- Zigbee学习之路3(单播实验)
- Majority Element
- Raft简单实现小结
- 香辣烤脖不能吃!
- Spark核心概念
- 坚持#第150天~分时