博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark笔记之RDD的缓存
阅读量:6803 次
发布时间:2019-06-26

本文共 558 字,大约阅读时间需要 1 分钟。

Spark速度非常快的原因之一,就是在不同操作中可以在内存中持久化或者缓存数据集。当持久化某个RDD后,每一个节点都将把计算分区结果保存在内存中,对此RDD或衍生出的RDD进行的其他动作中重用。这使得后续的动作变得更加迅速。RDD相关的持久化和缓存,是Spark最重要的特征之一。可以说,缓存是Spark构建迭代式算法和快速交互式查询的关键。

7.1RDD缓存方式
RDD通过persist方法或cache方法可以将前面的计算结果缓存,但是并不是这两个方法被调用时立即缓存,而是触发后面的action时,该RDD将会被缓存在计算节点的内存中,并供后面重用。
spark笔记之RDD的缓存
通过查看源码发现cache最终也是调用了persist方法,默认的存储级别都是仅在内存存储一份,Spark的存储级别还有好多种,存储级别在object StorageLevel中定义的。
spark笔记之RDD的缓存
缓存有可能丢失,或者存储于内存的数据由于内存不足而被删除,RDD的缓存容错机制保证了即使缓存丢失也能保证计算的正确执行。通过基于RDD的一系列转换,丢失的数据会被重算,由于RDD的各个Partition是相对独立的,因此只需要计算丢失的部分即可,并不需要重算全部Partition。

转载于:https://blog.51cto.com/13587708/2159010

你可能感兴趣的文章
onTouchEvent事件中调用onFling方法
查看>>
我的友情链接
查看>>
linux shell
查看>>
Windows Server入门系列35 了解NTFS安全权限
查看>>
序列判断
查看>>
【C语言】【笔试题】实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。...
查看>>
php常用自定义函数
查看>>
150809112 杨磊
查看>>
如何取消开机按ctrl+alt+delete组合键
查看>>
Linux操作系统的主要用途是什么
查看>>
jmeter之使用fidder抓包之后进行接口测试
查看>>
进程调度模拟程序
查看>>
Linux自建简易版DNS主从服务器
查看>>
linux 7.2 安装openstack 过程出现rabbitmq-server 错误解决方法
查看>>
PHP CI框架学习笔记-分页实现程序
查看>>
提升不止一点点,Dubbo 3.0 预览版详细解读,还愣着干啥啊?进来啊
查看>>
磁盘配额(quota)
查看>>
php同步mysql两个数据库中表的数据
查看>>
第3章 TCP协议
查看>>
转行干IT,什么职位能够快速进入IT圈-亲身经验分享
查看>>