1. 用python編寫wordcount程式並提交任務
程式wordcount
輸入乙個包含大量單詞的文字檔案
輸出檔案中每個單詞及其出現次數(頻數),並按照單詞字母順序排序,每個單詞和其頻數佔一行,單詞和頻數之間有間隔
編寫map函式,reduce函式
#!/usr/bin/env pythonimport sys
for line in
sys.stdin:
line=line.strip()
words=line.split()
for word in
words:
'%s\t%s
' % (word,1)
#!/usr/bin/env python將其許可權作出相應修改from
operator
import itemgetter
import sys
current_word=none
current_count=0
word=none
for line in
sys.stdin:
line=line.strip()
word,count=line.split('
\t',1
)
try:
count=int
(count)
except valueerror:
continue
if current_word==word:
current_count+=count
else
:
ifcurrent_word:
'%s\t%s
' %(current_word,current_count)
current_count=count
current_word=word
if current_word==word:
'%s\t%s
' % (current_word,current_count)
本機上測試執行**
4.放到hdfs上執行
將之前爬取的文字檔案上傳到hdfs上
用hadoop streaming命令提交任務
5.檢視執行結果
MapReduce的個人理解
mapreduce作為乙個平行計算框架,mr一共分為三個部分分別是map shuffle reduce,我們就從這三個步驟來理解mapreduce。1.map端 hadoop將mapreduce的輸入資料分成等長的資料塊,這個過程叫做input split也就是分片,然後為每乙個分片分配乙個map任...
關於MapReduce的理解?
來自知乎 其實我們可以從word count這個例項來理解mapreduce。mapreduce大體上分為六個步驟 input,split,map,shuffle,reduce,output。細節描述如下 輸入 input 如給定乙個文件,包含如下四行 2.拆分 split 將上述文件中每一行的內容...
深入理解MapReduce
化簡 reducing 遍歷集合中的元素來返回乙個綜合的結果。即,輸出表單裡一列數字的和這個任務屬於reducing。input,資料讀入 123456 設定資料輸入 fileinputformat.setinputpaths job,args 0 fileinputformat.setinputd...