Почему Apache Spark добавил метод cache (), хотя мы можем достичь той же функциональности, вызвав persist (StorageLevel.MEMORY_ONLY) - PullRequest
0 голосов
/ 23 января 2020

Почему 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

1 Ответ

0 голосов
/ 23 января 2020

cache - это удобный метод для кэширования данных. Persist - это расширенный метод, который может принимать уровень хранилища в качестве параметра и соответственно сохранять фрейм данных.

Уровень хранения по умолчанию для cache и persist одинаков и, как вы упомянули, дублирован. Вы можете использовать либо. В Scala реализации cache звонки persist def cache(): this.type = persist(). Это говорит мне о том, что persist является реальной реализацией, а cache является синтаксисом сахара.

...