Искра Apache в кэшировании памяти

Spark кэширует рабочий набор данных в памяти, а затем выполняет вычисления со скоростью памяти. Есть ли способ контролировать, как долго рабочий набор находится в оперативной памяти?

У меня есть огромное количество данных, доступ к которым осуществляется через работу. Для первоначальной загрузки задания в ОЗУ требуется время, а когда поступает следующее задание, ему приходится снова загружать все данные в ОЗУ, что занимает много времени. Есть ли способ кэшировать данные навсегда (или на определенное время) в ОЗУ с помощью Spark?


person Atom    schedule 11.11.2014    source источник


Ответы (2)



Вы можете указать параметр кэширования для RDD. RDD.cache(MEMORY_ONLY)

Spark автоматически очищается, если этот RDD не требуется для других действий.

Нет возможности кэшировать RDD на указанное время.

Пожалуйста, проверьте ссылку ниже

http://spark.apache.org/docs/latest/programming-guide.html#what-storage-level-to-choose

person Vijay Innamuri    schedule 11.11.2014
comment
Можно ли это обработать через java, приостановив выполнение демона, который загружает RDD в кеш? - person Atom; 11.11.2014
comment
Я не уверен в ручной приостановке демонов. Вы хотите повторно использовать наборы данных между последовательными заданиями? - person Vijay Innamuri; 12.11.2014
comment
@samthebest, не могли бы вы помочь мне понять, есть ли возможный способ кэшировать RDD на определенное время в памяти вместо того, чтобы очищать его из кеша и загружать каждый раз при запуске нового задания? - person Atom; 12.11.2014