Я обрабатываю набор данных Large-I sh, используя PySpark 2.4.4, который поставляется со встроенным oop. Набор данных разбит на несколько сжатых CSV-файлов, и я пытаюсь сообщить совокупное количество различных столбцов, используя DataFrames PySpark. PySpark прекрасно обрабатывает все, пока я не прошу его записать DataFrame на диск, используя
df.write.csv("out.csv")
, что приводит к следующему предупреждению, затопляющему терминал
WARN RowBasedKeyValueBatch: Calling spill() on RowBasedKeyValueBatch. Will not spill but return 0.
Я попытался увеличить размер память исполнителя с использованием свойства spark.executor.memory
; однако ошибка сохранилась. Я не знаю, можно ли игнорировать это предупреждение или мне нужно что-то изменить, прежде чем доверять результатам отчетов.
Здесь есть два ответа здесь на аналогичный вопрос, но меня не устраивает их глубина. Ответ Fredz0r просто ссылается на другой ответ , объясняющий разницу между разливом и перемешиванием, но, похоже, не относится к части ...Will not spill...
сообщения. Оставшийся ответ сформулирован так, как будто это серьезное предупреждение, но не дает подсказок, как его решить.