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