के समानांतर में निष्पादित किया जा सकता है क्या आर के साथ समानांतर में एकल मल्टी-कोर मशीन पर एक पाठ फ़ाइल पर पुनरावृत्ति संभव है? संदर्भ के लिए, पाठ फ़ाइल कहीं भी 250-400 एमबी JSON आउटपुट के बीच है।क्या रीडलाइन को आर
संपादित करें:
यहाँ मैं चारों ओर के साथ खेल रहे हैं कुछ कोड नमूने हैं। मेरे आश्चर्य के लिए, समांतर प्रसंस्करण जीत नहीं मिली - बस मूलभूत रूप से - लेकिन यह मेरे हिस्से पर उपयोगकर्ता त्रुटि के कारण हो सकता है। इसके अलावा, जब बड़ी संख्या में बड़ी फ़ाइलों को पढ़ने की कोशिश की जाती है, तो मेरी मशीन दबा दी जाती है।
## test on first 100 rows of 1 twitter file
library(rjson)
library(parallel)
library(foreach)
library(plyr)
N = 100
library(rbenchmark)
mc.cores <- detectCores()
benchmark(lapply(readLines(FILE, n=N, warn=FALSE), fromJSON),
llply(readLines(FILE, n=N, warn=FALSE), fromJSON),
mclapply(readLines(FILE, n=N, warn=FALSE), fromJSON),
mclapply(readLines(FILE, n=N, warn=FALSE), fromJSON,
mc.cores=mc.cores),
foreach(x=readLines(FILE, n=N, warn=FALSE)) %do% fromJSON(x),
replications=100)
यहाँ के गैर समानांतर फ़ाइल-प्रणाली आईओ प्रकृति के कारण एक दूसरे कोड नमूना
parseData <- function(x) {
x <- tryCatch(fromJSON(x),
error=function(e) return(list())
)
## need to do a test to see if valid data, if so ,save out the files
if (!is.null(x$id_str)) {
x$created_at <- strptime(x$created_at,"%a %b %e %H:%M:%S %z %Y")
fname <- paste("rdata/",
format(x$created_at, "%m"),
format(x$created_at, "%d"),
format(x$created_at, "%Y"),
"_",
x$id_str,
sep="")
saveRDS(x, fname)
rm(x, fname)
gc(verbose=FALSE)
}
}
t3 <- system.time(lapply(readLines(FILES[1], n=-1, warn=FALSE), parseData))
JSON फ़ाइल पढ़ने या JSON फ़ाइल को पार्स करने में समस्या क्या है? –
न तो। जब मैं लूप के लिए एक सरल उपयोग करने की कोशिश करता हूं तो मेरी मशीन अंततः जम जाती है। मैंने प्रत्येक जेएसओएन एंट्री के खिलाफ एक फ़ंक्शन चलाने का प्रयास किया है, अलग-अलग आरडीएस फ़ाइलों को वापस पढ़ने के लिए बाहर निकालें, आदि। प्रत्येक विकल्प के साथ, मैं मेमोरी उपयोग के बारे में भी जागरूक हूं और जब भी संभव हो तो अनुकूलित और साफ करने का प्रयास करता हूं। कुछ विचार भयानक थे, लेकिन अंत में, मैं आधार आर के साथ बड़े डेटासेट का "विश्लेषण" करने के तरीकों को समझना चाहता हूं, इस तथ्य को अनदेखा कर रहा हूं कि इस समय के लिए बेहतर समाधान मौजूद हैं। – Btibert3
एक पुनरुत्पादित उदाहरण हमें प्रतिक्रिया प्रदान करने के लिए अधिक आसान बना देगा। –