Я пытаюсь разобрать тысячи файлов в каталоге. Я написал этот скрипт, чтобы подумать о каждом файле, но моя система выходит из памяти. Как еще я могу обрабатывать эти файлы?как вы обрабатываете много файлов без исчерпания памяти в R
dir_path<-c("C:/Documents/Data")
input_files <- list.files(path = input_path, pattern = "htm", full.names = TRUE)
nn = length(input_files)
total_data = data.table(server = as.character(), time = as.character())
for(i in 1:nn)
{
xmlobj = xmlTreeParse(file = input_files[i], isHTML = T)
r = xmlRoot(xmlobj)
server = xmlValue(r[[2]][1][1]$h1)
time = xmlValue(r[[2]][4][1]$dl[1]$dt)
web_data = rbind(web_data, data.frame(server, time))
total_data<-rbind(web_data, total_data)
gc()
}
Каждый файл, который я читаю, имеет этот контент. Файлы в формате HTM:
Сервер Apache статуса для webserver101
Server Version: IBM_HTTP_Server/7.0.0.39 (Unix)
Server Built: Aug 3 2015 17:29:08
Current Time: Sunday, 05-Jun-2016 13:56:27 EDT
Restart Time: Saturday, 04-Jun-2016 23:06:02 EDT
Parent Server Generation: 0
Server uptime: 14 hours 50 minutes 24 seconds
Total accesses: 39855 - Total Traffic: 1.2 GB
CPU Usage: u814.13 s13.33 cu0 cs0 - 1.55% CPU load.746
requests/sec - 24.2 kB/second - 32.5 kB/request7
requests currently being processed, 73 idle workers
Что вы делаете после того, как вы обработали файл? –
@Zheyuan, я читаю каждый файл и вынимаю то, что хочу, и формирую фрейм данных и продолжаю добавлять данные из каждого файла в фрейм данных. Это должно работать, но в моей системе не хватает памяти. – user1471980
Ну, насколько большой ваш объект data.frame? Между тем есть пакеты, предназначенные для записи больших объектов для прозрачного файла; вы можете отследить их. –