我使用Spark(在java中)创建复杂对象的RDD。是否有可能在内存中保存这个对象,以便将来再次使用此对象?
(因为应用程序或作业清理内存后的Spark)
答案 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