MapReduce

統(tǒng)計詞頻 為什么做? 比如每日十大主題
1。 單機(jī)HashMap + for 循環(huán)

2。 多臺機(jī)器for循環(huán) 很多人可能忘了做并行匯總
3。 多臺機(jī)器Map + Reduce 就是說匯總的時候也是多臺機(jī)器一起處理(Reduce 合的過程)

幾個步驟 :

Input, 設(shè)定好輸入文件
Split, 系統(tǒng)幫我們盡量均分到每臺機(jī)器
map, 實(shí)現(xiàn)代碼
傳輸整理, 系統(tǒng)幫你整理 (Partition Sort , Fetch + Merge Sort)
Reduce,實(shí)現(xiàn)代碼
Output, 設(shè)定輸出
leetcode map reduce 題
Reduce的輸入就是Map的輸出
Map Reduce的函數(shù)的輸入輸出
Map輸入 : key :文章存儲地址, Value: 文章內(nèi)容
Reduce輸入: key : map輸出的 key, value : map輸出的value

機(jī)器管理形式

map reduce的 機(jī)器采用什么樣的管理形式 ? peer to peer 還是master to slave
這里常用master slave

map reduce 的輸出一定理key和value的形式
https://www.lintcode.com/problem/word-count-map-reduce/description

其他問題
多少臺機(jī)器?

Map多少臺, Reduce多少臺。

機(jī)器越多越好?

啟動機(jī)器的時間也變長了。
key的數(shù)目就是key的上限。

遇到i, you, the 怎么辦?

設(shè)為stop words

傳輸整理

1。排好序 (不需要哈希表了)
2。 分類 (每臺機(jī)器處理的單詞較少)

內(nèi)排序 vs 外排序
Merge k sorted list.

用map reduce實(shí)現(xiàn)inverted index

倒排索引 lintcode上有道題

用map reduce實(shí)現(xiàn)anagram

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容