缓存和持久化有什么区别? [英] What is the difference between cache and persist?
本文介绍了缓存和持久化有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在RDD
持久化方面,spark中的cache()
和persist()
有什么区别?
In terms of RDD
persistence, what are the differences between cache()
and persist()
in spark ?
推荐答案
使用 cache()
,你只使用默认的存储级别:
With cache()
, you use only the default storage level :
MEMORY_ONLY
用于 RDDMEMORY_AND_DISK
用于数据集
MEMORY_ONLY
for RDDMEMORY_AND_DISK
for Dataset
使用persist()
,您可以指定RDD 和数据集 所需的存储级别.
With persist()
, you can specify which storage level you want for both RDD and Dataset.
来自官方文档:
- 您可以使用
persist
() 或cache
() 方法将RDD
标记为持久化. - 每个持久化的
RDD
都可以使用不同的存储级别
进行存储 cache
() 方法是使用默认存储级别的简写,即StorageLevel.MEMORY_ONLY
(将反序列化的对象存储在内存中).
- You can mark an
RDD
to be persisted using thepersist
() orcache
() methods on it.- each persisted
RDD
can be stored using a differentstorage level
- The
cache
() method is a shorthand for using the default storage level, which isStorageLevel.MEMORY_ONLY
(store deserialized objects in memory).
使用 persist()
如果您想分配除以下之外的存储级别:
Use persist()
if you want to assign a storage level other than :
MEMORY_ONLY
到 RDD- 或
MEMORY_AND_DISK
用于数据集
官方文档的有趣链接:选择哪个存储级别
这篇关于缓存和持久化有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文