Я получаю json файлы с данными для анализа в R, для которых я использую RJSONIO-пакет:
library(RJSONIO)
filename <- "Indata.json"
jFile <- fromJSON(filename)
Когда json файлы больше 300 МБ (несжатые), мой компьютер начинает использовать память подкачки и продолжает синтаксический анализ (fromJSON) в течение нескольких часов. 200MB файл занимает всего около минуты для разбора.
Я использую R 2.14 (64 бит) на 64-битной Ubuntu с 16 ГБ оперативной памяти, поэтому я удивлен, что замена требуется уже около 300 МБ json.
Что я могу сделать, чтобы читать большие jsons? Есть ли что-то в настройках памяти, которые все испортили? Я перезапустил R и запустил только три строки выше. Json файл содержит 2-3 столбца с короткими строками и 10-20 столбцов с номерами от 0 до 1000000. I.e. это число строк, которое делает большой размер (более миллиона строк в анализируемых данных).
Обновление: Из комментариев я узнал, что rjson сделан больше на C, поэтому я попробовал. 300 МБ файл, который с RJSONIO (согласно Ubuntu System Monitor) достиг 100% -ной памяти (с 6% базовой линии) и продолжал замену, нуждался только в 60% -ной памяти с пакетом rjson, и разбор проводился в разумные сроки (минуты).