Я очень новичок в PySpark. Я собирал tfidf и хочу сохранить его на диске в качестве промежуточного результата. Теперь оценка IDF дает мне представление SparseVector.
Однако, пытаясь сохранить его как паркет, я получаю OOM. Я не уверен, что он внутренне преобразует SparseVector в Dense, так как в этом случае он приведет к некоторым столбцам размером 25 тыс., И в соответствии с потоком этот сохранение таких больших данных в столбчатом формате может привести к OOM.
Итак, есть идеи, в чем может быть дело? У меня память исполнителя как 8g и я работаю с 2g CSV-файлом.
Стоит ли увеличить память или сохранить ее в CSV вместо Parquet? Любая помощь приветствуется. Заранее спасибо.
Обновление 1
Как указывалось, что Spark выполняет ленивую оценку, ошибка может быть из-за вышестоящей стадии, я пытался показать и собрать перед записью. Казалось, они работали нормально, не выбрасывая ошибок. Итак, это все еще какая-то проблема, связанная с паркетом, или мне нужна другая отладка?