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

How to permanently save an object in memory with Spark?

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

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

Spark 不打算用作永久存储,您可以为此使用 HDFS、ElasticSearch 或其他 'Spark compatible' 集群存储。

Spark 从集群存储中读取数据,在 random access memory RAM 中做一些工作(以及临时结果的可选缓存),然后通常将结果写回集群存储,因为本地可能有太多结果硬盘。

示例:Read from HDFS -> Spark ... RDD ... -> Store results in HDFS

您必须区分硬盘驱动器(磁盘、SSD)等慢速存储和 RAM 等快速易失性内存。 Spark 的优势在于大量使用随机存取存储器 (RAM)。

您可以使用caching, for a temporary storage, see: (Why) do we need to call cache or persist on a RDD