【发布时间】:2016-11-09 11:19:26
【问题描述】:
我使用 Spark(在 java 中)创建复杂对象的 RDD。是否可以将此对象永久保存在内存中,以便将来再次使用此对象和火花?
(因为 Spark 在应用程序或作业清理内存之后)
【问题讨论】:
标签: java caching memory apache-spark persistent-storage
我使用 Spark(在 java 中)创建复杂对象的 RDD。是否可以将此对象永久保存在内存中,以便将来再次使用此对象和火花?
(因为 Spark 在应用程序或作业清理内存之后)
【问题讨论】:
标签: java caching memory apache-spark persistent-storage
Spark 不打算用作永久存储,您可以为此使用 HDFS、ElasticSearch 或其他“与 Spark 兼容”的集群存储。
Spark 从集群存储读取数据,在random access memory RAM 中执行一些工作(以及临时结果的可选缓存),然后通常将结果写回集群存储,因为本地硬盘驱动器可能有太多结果。
示例:Read from HDFS -> Spark ... RDD ... -> Store results in HDFS
您必须区分硬盘驱动器(磁盘、SSD)等慢速存储和 RAM 等快速易失性内存。 Spark 的优势在于大量使用随机存取存储器 (RAM)。
您可以使用caching,用于临时存储,请参阅:(Why) do we need to call cache or persist on a RDD
【讨论】: