जब आप जावा के अलावा किसी अन्य भाषा में मानचित्र को लागू करना चाहते हैं (हैडोप के साथ), तो आप स्ट्रीमिंग नामक एक सुविधा का उपयोग करते हैं। फिर डेटा को एसटीडीआईएन (रीडलाइन()) के माध्यम से मैपर को एसडीडीओयूटी (बिल्ली()) के माध्यम से हडोप पर वापस खिलाया जाता है, फिर एसटीडीआईएन (रीडलाइन()) के माध्यम से फिर से reducer करने के लिए और अंततः STDOUT (बिल्ली()) के माध्यम से धुंधला हुआ।
निम्नलिखित कोड article से लिया गया है, मैंने लिखा है कि एक मानचित्र लिखने पर लिखा गया है, जिसके लिए एचएडॉप के लिए आर कम है। कोड 2 ग्राम गिनने वाला माना जाता है लेकिन मैपरेडस-वार पर क्या चल रहा है यह देखने के लिए मैं काफी सरल कहूंगा।
# map.R
library(stringdist, quietly=TRUE)
input <- file("stdin", "r")
while(length(line <- readLines(input, n=1, warn=FALSE)) > 0) {
# in case of empty lines
# more sophisticated defensive code makes sense here
if(nchar(line) == 0) break
fields <- unlist(strsplit(line, "\t"))
# extract 2-grams
d <- qgrams(tolower(fields[4]), q=2)
for(i in 1:ncol(d)) {
# language/2-gram/count
cat(fields[2], "\t", colnames(d)[i], "\t", d[1,i], "\n")
}
}
close(input)
-
# reduce.R
input <- file("stdin", "r")
# initialize variables that keep
# track of the state
is_first_line <- TRUE
while(length(line <- readLines(input, n=1, warn=FALSE)) > 0) {
line <- unlist(strsplit(line, "\t"))
# current line belongs to previous
# line's key pair
if(!is_first_line &&
prev_lang == line[1] &&
prev_2gram == line[2]) {
sum <- sum + as.integer(line[3])
}
# current line belongs either to a
# new key pair or is first line
else {
# new key pair - so output the last
# key pair's result
if(!is_first_line) {
# language/2-gram/count
cat(prev_lang,"\t",prev_2gram,"\t",sum,"\n")
}
# initialize state trackers
prev_lang <- line[1]
prev_2gram <- line[2]
sum <- as.integer(line[3])
is_first_line <- FALSE
}
}
# the final record
cat(prev_lang,"\t",prev_2gram, "\t", sum, "\n")
close(input)
http://www.joyofdata.de/blog/mapreduce-r-hadoop-amazon-emr/
के लिए '[आर] mapreduce' इस पैकेज की तरह, उपयोगी लिंक्स के एक नंबर दे देंगे एक गूगल खोज: http: // Cran। r-project.org/web/packages/mapReduce/index.html और यह ब्लॉग: http://www.r-bloggers.com/making-sense-of-mapreduce/ – Andrie
उस व्यक्ति को जो चुपचाप डाउनवॉटेड है: यह है प्यार की गर्मी http://blog.stackoverflow.com/2012/0 7/गर्मी-ऑफ-गर्मी-ऑफ-लव /, इसलिए मेरा सुझाव है कि आप कुछ चीजों में से एक करें 1) बताएं कि डाउनवोट क्यों है, 2) ओपी को समझाएं कि प्रश्न को कैसे सुधारें 3) प्रश्न संपादित करें ताकि एक अच्छा सवाल है। – Andrie
डाउन-वोटर नहीं बल्कि यहां जाता है। मनोज, मुझे लगता है कि आपको अपना प्रश्न थोड़ा सा करना चाहिए। कृपया जो जानकारी आपने कोशिश की है उसे जोड़ें। "मैं जावा में एमआर लिख रहा हूं, लेकिन अब मैं इसे आर में देखना चाहता हूं। मैंने इस ट्यूटोरियल को पढ़ा है और यह और वह खोज किया है लेकिन मुझे बचने वाले अधिक ट्यूटोरियल्स में रुचि थी।" । आप क्या कर सकते हैं आर और एमआर (यदि पहले से मौजूद नहीं है) के संबंध में सभी संदर्भों की एक सूची इकट्ठा कर लेते हैं और इस सवाल को विकी बनाते हैं। –