Куски данных из большого файла для многопроцессорной обработки?

Я пытаюсь распараллелить приложение, используя многопроцессорную обработку, которая принимает очень большой CSV-файл (от 64 до 500 МБ), выполняет некоторую работу построчно, а затем выводит небольшой файл фиксированного размера.

В настоящее время я делаюlist(file_obj), который, к сожалению, полностью загружается в память (я думаю), и затем я разбиваю этот список на n частей, n - количество процессов, которые я хочу запустить. Я тогда делаюpool.map() в разбитых списках.

Похоже, что это действительно очень плохое время выполнения по сравнению с однопоточной методологией "просто открой файл и итерируй над ней". Может кто-нибудь предложить лучшее решение?

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

Ответы на вопрос(2)

Ваш ответ на вопрос