Рабочие узлы малой памяти и производительность - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь установить искровой кластер поверх роя докеров, работающих на очищенном оборудовании.У меня всего 50 процессорных ядер и 67 ГБ ОЗУ, однако оно распределено по 13 физическим машинам, а это означает, что на многих рабочих узлах ОЗУ будет иметь только 1 или 2 ГБ.Физические машины соединены одной сетью 1 Гбит.

  • Я создал простую тестовую программу в pyspark, которая читает файлы msgpack, фильтрует некоторые строки и записывает новые файлы.Каждый файл занимает 380 Мб, и я сделал так, чтобы каждый файл находился в своем собственном разделе в СДР.При такой настройке 61 файл занимает 32 минуты для обработки.Время сделать то же самое для одного файла в чистом python на одной машине - примерно 12 с 18 с / файл, что означает, что если бы я не распараллеливал и просто запустил его на одной машине, это заняло бы ~ 18 минут.Это огромные накладные расходы, нормальные для spark / pyspark?!

  • Все, что вызывает случайное перемешивание (например, groupByKey), останавливается.Вероятно, это будет ограничено моим низким объемом ОЗУ или признаком ограничений связи между узлами?Как мне это выяснить?

Возможно ли / целесообразно ли запустить искру на аппаратной платформе, подобной моей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...