如何使用Spark将对象永久保存在内存中?

时间:2016-07-07 08:02:42

标签: java caching memory apache-spark persistent-storage

我使用Spark(在java中)创建复杂对象的RDD。是否有可能在内存中保存这个对象,以便将来再次使用此对象?

(因为应用程序或作业清理内存后的Spark)

1 个答案:

答案 0 :(得分:3)

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