Spark的缓存管理解析
来源:互联网 发布:解数独算法 编辑:程序博客网 时间:2024/05/18 22:40
Spark的缓存管理解析
[睡着的水-hzjs-2016.08.24]
一、CacheManager分析
1、CacheManager管理的缓存,而混存可以是基于内存的缓存,也可以是基于磁盘的缓存;
2、CacheManager需要通过BlockManager来操作数据;
3、当Task 运行的时候会调用RDD的compute方法进行计算,而compute 方法会调用iterator方法:
二、CacheManager源码的详解
1、Cache 在工作的时候会最大化的保留数据,但是数据不一定绝对完整,因为当前的计算如果需要内存空间的话看,那么Cache在内存中的数据必须让出空间,此时如果在RDD持久化的时候同时指定了可以把数据放在Disk 上,那么部分Cache 的数据可以从内存转入磁盘,否则的话数据就会丢失!!!
2、具体CacheManager在获得缓存数据的时候会通过BlockManager 来抓到数据;
3、CacheManager 没有通过BlockManager获得缓存内容的话,此时会通过RDD的如下方法来获得数据:
上述方法首先会查看当前的RDD是否进行了Checkpoint,如果进行了话直接读取checkpoint的数据,否则的话就必须进行计算来计算之后通过putInBlockManager缓存起来
1 0
- Spark的缓存管理解析
- [spark] RDD缓存源码解析
- spark的缓存
- [spark] 内存管理 MemoryManager 解析
- MySQL数据库中缓存管理的思路解析
- MySQL数据库中缓存管理的思路解析
- MySQL数据库中缓存管理的思路解析
- MySQL数据库中缓存管理的思路解析
- Spark的存储管理
- Spark的存储管理
- 第52课:spark的新解析引擎catalyst源码中的外部数据源、缓存及其他
- hibernate3的缓存管理
- windows的缓存管理
- hibernate3的缓存管理
- OJB的缓存管理
- hibernate的缓存管理
- angularJS缓存的管理
- Spark源码解析---Spark执行的架构
- PopUpWindiw的背景虚化以及显示listview
- Android内存优化之OOM
- 格式化和验证Hadoop,Spark等xml配置文件的工具xmllint
- 使用数组和指针的形式实现冒泡排序,并优化。bubble_sort();
- poj1360(完全背包+多重背包+鸽巢原理)
- Spark的缓存管理解析
- 无刷新form表单
- MAC Ruby版本需要升级至2.2.2以上
- C语言单链表的应用--档案管理系统
- C++类的实例化的两种方法
- openvswitch 2.5 + centos 7
- (c#)AutoCAD二次开发调试时,netload后,输入命令,却显示为未知命令
- httpurlconnection_get_post
- 为什么http用的时候不能用POST方式替代全部的GET方式?