2015-12-06 2 views
1

Я храню RDD, используя storageLevel = MEMORY_ONLY_SER_2, в случае потери одного исполнителя, есть еще одна копия данных.Spark: MEMORY_ONLY_SER_2 - странное поведение памяти

enter image description here

Тогда я нашел что-то странное:

  1. Размер памяти из 2xReplicated РДУ, кажется, то же самое сравнение, когда я использовал storageLevel = MEMORY_ONLY_SER (1xReplicated)
  2. Фракция Cached не смог достичь 100%, хотя у меня все еще осталось много памяти.

Я правильно понимаю памятьLevel = MEMORY_ONLY_SER_2? почему 2xReplicated не имеет в два раза Размер в памяти по сравнению с 1xReplicated? Благодаря!

ответ

0

Я думаю, возможно, вся ваша память для кеша используется, поэтому независимо от того, сколько тиражей вы использовали.

Я не знаю, сколько памяти выделено для каждого исполнителя, если вы выделили много, вы можете увеличить значение spark.storage.memoryFraction, значения по умолчанию - 0.6.

Если вы хотите проверить, будет ли MEMORY_ONLY_SER_2 стоить вдвое больше, чем MEMORY_ONLY_SER, вы можете использовать небольшой набор данных.

Смежные вопросы