RDD缓存策略
Spark支持将数据集放置在集群的缓存中,以便于数据重用。
Spark缓存策略对应的类:
class StorageLevel private( object StorageLevel { |
useDisk_ | 是否使用磁盘 |
useMemory_ | 是否使用内存 |
deserialized_ | 是否进行反序列化(即原生方式,不序列化) |
replication_ | 备份数目 |
序列化后的对象存放在内存中,占用的内存少,但是用时需要反序列化,会消耗CPU;
个人推荐:如果内存使用紧张但是CPU够用时建议考虑使用序列化后缓存;或者是选择性能更好的序列化工具。
可选用的存储级别有如下:
存储级别 | 描述 |
MEMORY_ONLY |
将RDD 作为反序列化的的对象存储JVM 中。如果RDD不能被内存装下,一些分区将不会被缓存,并且在需要的时候被重新计算。
这是是默认的级别
|
MEMORY_AND_DISK |
将RDD 作为反序列化的的对象存储在JVM 中。如果RDD不能被与内存装下,超出的分区将被保存在硬盘上,并且在需要时被读取
|
MEMORY_ONLY_SER |
将RDD 作为序列化的的对象进行存储(每一分区占用一个字节数组)。
通常来说,这比将对象反序列化的空间利用率更高,尤其当使用fast serializer,但在读取时会比较占用CPU
|
MEMORY_AND_DISK_SER |
与MEMORY_ONLY_SER 相似,但是把超出内存的分区将存储在硬盘上而不是在每次需要的时候重新计算
|
DISK_ONLY | 只将RDD 分区存储在硬盘上 |
DISK_ONLY_2等带2的 |
与上述的存储级别一样,但是将每一个分区都复制到两个集群结点上
|
注意:
1)spark默认存储策略为MEMORY_ONLY:只缓存到内存并且以原生方式存(反序列化)一个副本;
2)MEMORY_AND_DISK存储级别在内存够用时直接保存到内存中,只有当内存不足时,才会存储到磁盘中。
详细信息参见官方文档:http://spark.apache.org/docs/latest/programming-guide.html
RDD缓存策略的更多相关文章
- RDD概念、特性、缓存策略与容错
一.RDD概念与特性 1. RDD的概念 RDD(Resilient Distributed Dataset),是指弹性分布式数据集.数据集:Spark中的编程是基于RDD的,将原始数据加载到内存变成 ...
- RDD缓存学习
首先实现rdd缓存 准备了500M的数据 10份,每份 100万条,存在hdfs 中通过sc.textFile方法读取 val rdd1 = sc.textFile("hdfs://mini ...
- 【腾讯Bugly干货分享】彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/qOMO0LIdA47j3RjhbCWUEQ 作者:李 ...
- 【转】理解Java Integer的缓存策略
本文将介绍 Java 中 Integer 缓存的相关知识.这是 Java 5 中引入的一个有助于节省内存.提高性能的特性.首先看一个使用 Integer 的示例代码,展示了 Integer 的缓存行为 ...
- Redis的缓存策略和主键失效机制
作为缓存系统都要定期清理无效数据,就需要一个主键失效和淘汰策略. >>EXPIRE主键失效机制 在Redis当中,有生存期的key被称为volatile,在创建缓存时,要为给定的key设置 ...
- Web开发基本准则-55实录-缓存策略
续上篇<Web开发基本准则-55实录-Web访问安全>. Web开发基本准则-55实录-缓存策略 郑昀 创建于2013年2月 郑昀 最后更新于2013年10月26日 提纲: Web访问安全 ...
- 腾讯QQ你的缓存策略应该改下了
缓存策略基本原则大家都怎么考虑的? 缓存好友数量这个也是醉了,这个数字好像变化频率有点低吧,ok,就算你企鹅用户量大,需要缓存,那肉肉的问一句你这更新策略也不能只管网上涨的,不管往下降的吧?难不成你是 ...
- Http协议:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
转载:http://mp.weixin.qq.com/s/uWPls0qrqJKHkHfNLmaenQ 导语 Http 缓存机制作为 web 性能优化的重要手段,对从事 Web 开发的小伙伴们来说是必 ...
- 理解Java Integer的缓存策略
转载自http://www.importnew.com/18884.html 本文将介绍 Java 中 Integer 缓存的相关知识.这是 Java 5 中引入的一个有助于节省内存.提高性能的特性. ...
随机推荐
- .NET(C#)生成条形码
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- WPF性能改善---之化整为零(蜂窝的衍生应用)
在有的项目中,有这样的需求,由于显示器的显示区域是有限的,而软件却要展示一个远大于显示区域的一些元素,此时就要引入放大.缩小.拖动等UI控制技术,而在使用这些技术的同时,在后台有效的控制渲染元素的个数 ...
- 调用wcf 得不到HttpWebResponse.ContentLength的长度
HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create(strUrl); wreq.Timeout = _httpTimeout * ; wre ...
- js中RGB转hex
科普下颜色代码 RGB格式:220,20,60(三个数字组成) HEX格式:#DC143C 代码如下 var rgb = '220,20,60'; alert(rgb2hex(rgb)); //将RG ...
- sqlite3移植到arm linux
1,环境: 软件:linux:2.6.38 硬件:6410 交叉编译工具:arm-linux-gcc 也适用于其他linux平台. 2,步骤: 1>下载sqlite3源码包: http://ww ...
- c++中ifstream读文件的问题(关于eof())
今天帮别人找BUG,是一段关于c++读写文件的问题,使用的是ifstream与outstream类,关于ofstream与ifstream的用法,此处不再獒述,见代码: #include<ios ...
- Apriori 关联算法学习
1. 挖掘关联规则 1.1 什么是关联规则 一言蔽之,关联规则是形如X→Y的蕴涵式,表示通过X可以推导“得到”Y,其中X和Y分别称为关联规则的先导(antecedent或left-hand-sid ...
- iis7 500错误日志报 LOG_FILE_MAX_SIZE_TRUNCATE
参考:http://blogs.iis.net/robert_mcmurray/freb-log-file-max-size-truncate cd /d "%windir%\system3 ...
- C++ operator 知识点 2
http://blog.csdn.net/szlanny/article/details/4295854 operator它有两种用法,一种是operator overloading(操作符重载),一 ...
- mysql特有语法
1.插入多条记录insert into test.new_table(t1) values('1'), ('2'); 2.复制表结构及数据 create table test.tb2 SELECT * ...