Искровой исполнитель потерял неудачу

Я использую искровой кластер databricks (AWS) и тестирование в моем эксперименте scala. У меня есть проблема при обучении 10 ГБ данных с алгоритмом LogisticRegressionWithLBFGS. Блок кода, в котором я встретил проблему, выглядит следующим образом:

import org.apache.spark.mllib.classification.LogisticRegressionWithLBFGS
val algorithm = new LogisticRegressionWithLBFGS()
algorithm.run(training_set)

Во-первых, у меня получилось много неудачных попыток исполнителя и проблемы с памятью из Java, после чего я перераспределил свой тренировочный_файл с большим количеством разделов, а проблемы с памятью исчезли, но все равно получить потерянный проигрыватель.

В моем кластере имеется 72 ядра и 500 ГБ. Может ли кто-нибудь дать представление об этом?

Ответ 1

LBFGS использует плотный вектор для хранения бета (весов) внутри, и все в памяти. Поэтому, независимо от разреженности функций в наборе тренировок, общее количество функций - это то, о чем нужно помнить.

Таким образом, для решения этого пользователя необходимо либо увеличить память исполнителей, либо ограничить общее количество функций в обучающем наборе.