spark 只基于内存计算

答案是否定的

那么第二次就不会再加载数据了:如下图


将RDD元素从磁盘缓存到内存,相当于persist(MEMORY_ONLY)函数的功能。

但是 spark 是不是只基于内存计算呢? 答案是否定的。

因为有种缓存策略叫,即基于内存,又基于磁盘(也就是hdfs)

例如,如果前面我们经过了一大堆transformations  算子的计算,想把结果缓存下来,但是

内存又不够,此时如果我们选择只存入内存,那么没有存下的部分数据只能丢掉了,那么再次使用时,只能从内存里获得一部分数据,那些丢掉的数据必须重新计算了。

那么 如果我们选择放入 内存和磁盘的方式,那么内存放不下的那部分数据,就会放到磁盘,此时再次使用数据时就可以直接从内存和磁盘取了(注,这种缓存方式,磁盘上放的也是结果数据)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容