Как отличается поведение уровня кэширования memory_only и memory_and_disk в искровом режиме?
В чем разница между уровнем памяти memory_only и memory_and_disk в искры?
Ответ 1
Документация говорит ---
Уровень хранения
Значение
MEMORY_ONLY
Храните RDD как десериализованные объекты Java в JVM. Если RDD не поместится в память, некоторые разделы не будут кэшироваться и будут пересчитываются "на лету" каждый раз, когда они нужны. Это значение по умолчанию уровень.
MEMORY_AND_DISK
Храните RDD как десериализованные объекты Java в JVM. Если RDD не вписываются в память, сохраняют разделы, которые не помещаются на диск, и читают их оттуда, когда они нужны.
MEMORY_ONLY_SER
Хранить RDD как сериализованные объекты Java (один байт-массив на раздел). Это, как правило, более экономично, чем десериализованные объекты, особенно при использовании быстрого сериализатора, но с большим читать.
MEMORY_AND_DISK_SER
Подобно MEMORY_ONLY_SER, но разлитые разделы, которые не вписываются в память на диск, а не перепрограммировать их "на лету" каждый раз они нужны.
DISK_ONLY
Храните разделы RDD только на диске.
MEMORY_ONLY_2, MEMORY_AND_DISK_2 и т.д.
То же, что и уровни выше, но реплицируйте каждый раздел на два кластера узлы.
OFF_HEAP (экспериментальный)
Храните RDD в сериализованном формате в Tachyon. В сравнении с MEMORY_ONLY_SER, OFF_HEAP уменьшает накладные расходы на сборку мусора и позволяет исполнителям быть меньше и делиться пулом памяти, делая он привлекателен в средах с большими кучами или несколькими параллельными Приложения. Кроме того, поскольку RDD находятся в Тахионе, крушение исполнитель не приводит к потере кэша в памяти. В этом режиме, память в Тахионе отбрасывается. Таким образом, Tachyon не пытается для восстановления блока, который он выдает из памяти.
Это означает, что ТОЛЬКО для памяти, искра будет стараться всегда держать разделы в памяти. Если некоторые разделы не могут храниться в памяти или для потери node некоторые разделы удаляются из ОЗУ, искра будет перепрограммироваться с использованием информации о линии. В области памяти и диска искра всегда поддерживает вычисления и кэширование разделов. Он будет пытаться сохранить в ОЗУ, но если он не подходит, на диск будут пролиты парирования.
Ответ 2
Уровни стойкости с точки зрения эффективности:
Level Space used CPU time In memory On disk Serialized ------------------------------------------------------------------------- MEMORY_ONLY High Low Y N N MEMORY_ONLY_SER Low High Y N Y MEMORY_AND_DISK High Medium Some Some Some MEMORY_AND_DISK_SER Low High Some Some Y DISK_ONLY Low High N Y Y
MEMORY_AND_DISK
и MEMORY_AND_DISK_SER
разливаются на диск, если в памяти слишком много данных.