当前课程知识点:大数据系统基础 > 5.内存计算 > 授课视频 > 5.17RDD性能的提高
我们前面已经用了这个cache的
这样一个功能
比如说 在这样的一个例子里面
我们把数据弄的这个messages
产生以后我们实际上
已经调用了cache
那么调用cache
意思是将后面可能会重用的数据
保存起来
然后定量放到内存里面
为什么要用尽量
因为有的时候内存可能并不够用
也就是说
你提供了cache的
这个RDD可能很多
在这个时候系统还是要
根据一些实际的情况
去决定哪些可以放到
这个内存里面
哪些不用放到里面
那么这样的一种cache调用
它在正常计算的时候
就可以避免重算
cache实际上是这个Persist
的一种特例
Persist也是RDD
它所提供的一种把数据
摆放在内存里面的一种提示
那么它里面可以有这样
多种存储的级别
比如说 这个memory only
意思就是说
把这个数据就仅保存
在这个内存里面
memory and disk
意思是说可以保存在内存里面
也可以保存在硬盘上
当然如果内存够用的话
那么我们就尽量的
把它保存在内存里
如果不够的话
也可以保存在这个硬盘上面
这里面还有一个重要的点
是叫做deseriallzed
也就是说
这个我们保存的这个Java对象
它并没有去做这个序列化
并没有去做包装
它和这个下面我们看到的
memory only serialized
和memory and disk serialized
它们都强调了
是这个serialized这个概念
serialized和deserialized
它们之间有什么区别
deserialized它相对来说
占的空间要比serialized的
空间更大一些
但是如果我们把这个数据
做了serialized
这个我们在读取它的时候
我们还要多费一些CPU的时间
因为我们还需要把这个数据
相当于解包
这个我们可以把
serialized和deserialized
当做把它数据打包还是解包的
这样的一个过程
那么这儿也提供了这个
Spark persist的
业提供了disk only
这样的一个存储级别
意思就是说
你就把这个RDD
把它存在硬盘上就好了
不用把它放到内存里
这个实际上就是告诉我们说
这个数据可能并不经常使用
另外这个Spark里面
还提供了memory only 2
还有memory and disk 2
这样的一个
就后面有这个数字
这个数字是什么意思
memory only的意思
大家都清楚对吧
我们就是说尽量的
把这个数据放到这个内存里面
但是这个2的意思是说
可以把这个每一份数据
把它放到两个
这个cluster ondes里面
那这样做会有什么样的好处
我们都知道Spark它是一个
强调容错的这样的一个系统
也就是说当我们把这个数据
放到多个cluster ondes
比如说两个的话
那么如果其中一个出现失效
我们还是是可以从另一个
这个节点上面快速地恢复数据
而不需要像我们前面说的那样
再去重新的计算
也就是用这个空间上的开销
来换取时间上的开销的
这样一个方法
当然这里面还有一些
隐藏的开销
比如说
我们要写两份
要写两份数据
那么我们讲过在这个
数据更新的时候
也会有这个额外的一些开销
-授课视频
--什么是大数据
--大数据典型应用
--大数据的特点
--大数据技术体系
--大数据生态系统
--大数据技术挑战
--课程内容
-1. 绪论--Quiz 1
-授课视频
--2.2并行化理念
--2.9计算虚拟化
-2.云计算--Quiz 2
-授课视频
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-3.文件存储--Quiz3
-授课视频
--4.13类似框架
--4.14章节总结
-4. 处理框架--Quiz4
-授课视频
-5.内存计算--Quiz5
-授课视频
--数据副本及一致性
--节点本地数据存储
-6. NoSQL--Quiz6
-授课视屏
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-7. 流计算--Quiz7