У меня есть большие наборы данных CSV (10M + строк), которые необходимо обработать. У меня есть два других файла, на которые нужно ссылаться для вывода - они содержат данные, которые усиливают то, что мы знаем о миллионах строк в файле CSV. Цель состоит в том, чтобы вывести новый файл CSV, в котором каждая запись объединена с дополнительной информацией из других файлов.
Представьте себе, что в большом файле CSV есть транзакции, но информация о клиенте и платежная информация записаны в двух других файлах, и мы хотим вывести новый CSV, в котором каждая транзакция связана с идентификатором клиента и идентификатором счета и т. Д.
У коллеги есть функциональная программа, написанная на Java для этого, но она очень медленная. Причина в том, что CSV-файл с миллионами строк, по-видимому, должен быть пройден много-много-много раз.
Мой вопрос - да, я к нему подхожу - как мне подойти к этому в Ruby? Цель состоит в том, чтобы он был быстрее (18+ часов прямо сейчас с очень небольшой нагрузкой на процессор)
Могу ли я загрузить столько записей в память? Если да, то как мне это сделать?
Я знаю, это немного расплывчато. Просто ищу идеи, потому что это немного ново для меня.