为什么 Apache Spark 添加了 cache() 方法,即使我们可以通过调用 persist(StorageLevel.MEMORY_ONLY) 实现相同的功能

Why Apache Spark has added cache() method even though we can achieve the same functionality by calling persist(StorageLevel.MEMORY_ONLY)

为什么 spark 在其库中添加了 cache() 方法,即 rdd.py,即使它在内部调用 self.persist(StorageLevel.MEMORY_ONLY),如下所述:

def cache(self):
    """
    Persist this RDD with the default storage level (C{MEMORY_ONLY}).
    """
    self.is_cached = True
    self.persist(StorageLevel.MEMORY_ONLY)
    return self

cache 是一种缓存 Dataframe 的便捷方法。 Persist 是一种高级方法,可以将存储级别作为参数并相应地持久化数据帧。

cachepersist 的默认存储级别相同,并且如您所述重复。你可以使用任何一个。 在 Scala 实现中 cache 调用 persist def cache(): this.type = persist()。这告诉我 persist 是真正的实现,而 cache 是糖语法。