博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark RDD Persistence
阅读量:6115 次
发布时间:2019-06-21

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

hot3.png

在spark中最重要的能力之一就是在多个操作中可以持久化(或者叫做缓存)一个数据集到内存中。当你持久化一个RDD,每个节点存储这个RDD的一部分,

并且在其他的action中重用这个结果集(或者这个结果集中抽取的数据)。这个行为让接下来的action变的更快(通常快10倍)。缓存是在迭代算法和快速交互中的关键工具

你可以使用persist()或者cache()方法来持久化RDD,第一次RDD是通过一个action计算而来的,它将在某些或者全部节点的内存中保存。spark的cache是容灾的--如果RDD中任何一个partition丢失,丢失部分将使用原来创建它的transformations来重新计算。

除此之外,每个RDD可以使用不同的存储级别来持久化RDD,例如,持久化数据集到硬盘,持久化数据集到内存并且使用java对象序列化的方式来存以节省内存、在多个节点间对数据集做冗余备份或者使用tachyon做off-head的存储。

这些等级是通过传入StorageLevel对象到persist()中实现的。这个cache方法是使用默认存储级别的快捷方法,默认是StorageLevel.MEMORY_ONLY(只在内存中存储非序列化的对象)

什么样的存储级别应该选择?

spark所提供多个存储级别意味着提供多种内存使用量和cpu效率的交易策略。我们推荐按使用下面的流程来选择一个:

* 如果你的RDD数据集可以使用默认的存储级别(MEMORY_ONLY),那就使用这个。这种设置是最能发挥cpu效率的选项,让基于RDD的操作尽可能最快速的运行。

* 。。

 

Removing Data

spark会自动监视在每个节点cache的使用情况,并且会通过LRU模式删除旧的数据。如果你想手动移除RDD而不是等待它自动从cache中移除,使用RDD.unpersist()方法即可。

 

 

 

 

 

参考

The on-heap store refers to objects that will be present in the Java heap (and also subject to GC).

 On the other hand, the off-heap store refers to (serialized) objects that are managed by EHCache, 

 but stored outside the heap (and also not subject to GC). 

As the off-heap store continues to be managed in memory, 

it is slightly slower than the on-heap store, but still faster than the disk store.

()

 

转载于:https://my.oschina.net/forrest420/blog/470341

你可能感兴趣的文章
[家里蹲大学数学杂志]第432期Hardy type inequalities
查看>>
Spring MVC 4.2 CORS 跨域访问
查看>>
小计生产数据库事故--缺少where的update
查看>>
谁偷走了我们的时间?
查看>>
nginx 配置 getsimplecms 配置文件
查看>>
23.8. DHCP
查看>>
[20170410]11G ora_sql_txt是否有效.txt
查看>>
开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
查看>>
ASP.NET MVC 5 入门教程 (4) View和ViewBag
查看>>
配置samba的访问密码和用户名
查看>>
MVC5 + EF6 + Bootstrap3 (11) 排序、搜索、分页
查看>>
SuperScript —— 基于 Node.js 的聊天机器人
查看>>
《Linux系统编程(第2版)》——导读
查看>>
《Metasploit渗透测试手册》—第1章1.7节从界面开始——Metasploit的“Hello World”...
查看>>
《嵌入式 Linux应用程序开发标准教程(第2版)》——2.5 本章小结
查看>>
《JavaScript应用程序设计》一一第3章 对象
查看>>
更多软件被发现使用类似 Superfish 中间人攻击技术
查看>>
foundation-sites 6.4.0 rc2 发布,响应前端框架
查看>>
《Adobe InDesign CS6中文版经典教程》—第2课2.5添加文本
查看>>
CoreThink 之 Git 模块 v1.1.2 支持二级域名
查看>>