У меня около 8 миллионов строк данных и около 500 столбцов.
Когда я пытаюсь записать его с помощью spark в виде одного файла coalesce(1)
, происходит сбой с OutOfMemoryException
.
Я знаю, что это много данных об одном исполнителе, но насколько я понимаю процесс записи паркета, он хранит данные только для одной группы строк в памяти, перед тем как записать их на диск, а затем перейти к следующему один.
Мой исполнитель имеет 16 ГБ памяти и не может быть увеличен в дальнейшем. Данные содержат много строк.
Поэтому меня интересуют некоторые настройки, в которых я могу настроить процесс написания больших файлов паркета для широких столов.
Я знаю, что могу включить / отключить словарь, увеличить / уменьшить размер блока и страницы.
Но что будет хорошей конфигурацией для моих нужд?