Уровень искрового хранилища "NONE" и "MEMORY_ONLY" - PullRequest
0 голосов
/ 27 июня 2018

Я понимаю, что "MEMORY_ONLY" хранит СДР в кеш-памяти.

Что такое уровень хранения "NONE"?

Означает ли это, что каждый СДР будет пересчитываться с нуля всякий раз, когда его просят?

Как это влияет и в каком сценарии это может быть полезно?

1 Ответ

0 голосов
/ 27 июня 2018

Я нашел этот тестовый пример в хранилище кода:

test("cache, getStorageLevel") {
    // test to see if getStorageLevel returns correct value after caching
    withSpark { sc =>
      val verts = sc.parallelize(List((0L, 0), (1L, 1), (1L, 2), (2L, 3), (2L, 3), (2L, 3)))
      val edges = EdgeRDD.fromEdges(sc.parallelize(List.empty[Edge[Int]]))
      assert(edges.getStorageLevel == StorageLevel.NONE)
      edges.cache()
      assert(edges.getStorageLevel == StorageLevel.MEMORY_ONLY)
    }
}

StorageLevel.NONE аналогичен отсутствию кэширования. Насколько я знаю, некэшированный RDD будет пересчитываться каждый раз в зависимости от потока данных RDD. Это кажется полезным для целей тестирования и для кэширования RDD.

...