Re: MapReduce (Re: [情報] 利用智慧型手機建構雲端
: → hilorrk:@@ 兩位前輩請息怒... 08/24 00:16
這情況很正常. 在BBS或mailing-list常有這種嚴肅討論.
而我個人經驗,mailing-list遇到的討論對象,比較不會有刁蠻不承認自己犯錯的.
: → hilorrk:就我所知 google的MapReduce並沒有送"資料"吧~ 08/24 00:16
: → hilorrk:而是master assign map/reduce task給worker 而worker再去 08/24 00:17
: → hilorrk:DFS取資料...所要傳輸的是程式的fork? 08/24 00:18
: → hilorrk:而且採取的是類似master去polling 而非worker主動要工作? 08/24 00:21
: → hilorrk:不知這樣理解對不對...改天要來好好研究一下了- -|| 08/24 00:21
你說的第一句話有一點錯.請以分散式的觀點思考系統環境,
環境中存在多少個map的instances,多少個reduce的instances?
最少,每個map都要知道它該讀哪個檔案分段,而根據map的規格,
map並沒有自己包含了判斷它要讀哪個分段的程式碼.
包含了判讀正確檔案位置的程式,是舊世界的寫法. 可以Google尋找一些介紹
MapReduce的投影片,有一些會列出舊的平行程式寫法,和MapReduce平行程式寫法.
所以接下來你說對了,是master polling. (polling? 其實這個詞也不對啊!)
Master必須要整理幾種資訊:
1. 要處理的資料有多少檔案.
2. 能使用的map worker有多少個.
基本上是把map fork在每個map worker沒錯.
但是把執行檔fork成一些程序就行了嗎? 當然不只,而是還要告訴每個程序要讀
哪個檔案或哪個分段位置(chunk index).
Map worker會執行map,把檔案餵進map,然後map丟出一些key-value,是放在
local store; 線上的記憶體可能不足以處理這些突然拋出的key-value.
接下來,reduce會自動理解它要從哪個map讀結果嗎?
起碼也要看map worker和reduce worker是不是一對一對應. 通常不是.
那要怎麼做?
前面說 map 出來的東西是local store的. Reduce worker要拿到map的local store,
如果map worker和reduce worker各在不同的電腦,當然是一些類似檔案傳輸的動作.
根據key-value的規格,是
map(key0, value0) -> {(key,value)} [local store] ->
grouping( {(key,value)} ) ->
(key1,{value1}) [input to reduce] -> reduce(key1, {value1})
中間grouping的客製彈性很大,有些是說map worker做一個map之後的處理,
有些是說把key-value送到一個集中位置處理,也有人說是map worker將key-value
分割,分別送到幾個固定的reduce worker那邊.
甚至一組工作的定義,可能要有個規格定義明白,哪個map之後要接哪個map/reduce,
哪個reduce要接哪個map/reduce. 並不是只有worker自己知道要從哪裡取資料而已.
Worker哪有那麼聰明啊. 分散式系統重要的是訊息溝通.
Map做完了要告訴master,然後master要通知reduce,reduce worker會向map worker
請求資料. 這些概念還蠻簡單.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.209.34
推
08/24 06:28, , 1F
08/24 06:28, 1F
→
08/24 06:29, , 2F
08/24 06:29, 2F
→
08/24 06:30, , 3F
08/24 06:30, 3F
→
08/24 06:31, , 4F
08/24 06:31, 4F
→
08/24 06:33, , 5F
08/24 06:33, 5F
→
08/24 06:41, , 6F
08/24 06:41, 6F
→
08/24 06:42, , 7F
08/24 06:42, 7F
→
08/24 06:58, , 8F
08/24 06:58, 8F
推
08/26 09:43, , 9F
08/26 09:43, 9F
推
08/26 09:46, , 10F
08/26 09:46, 10F
→
08/26 09:47, , 11F
08/26 09:47, 11F
→
08/26 09:50, , 12F
08/26 09:50, 12F
→
08/26 09:50, , 13F
08/26 09:50, 13F
→
08/26 09:51, , 14F
08/26 09:51, 14F
→
08/26 20:01, , 15F
08/26 20:01, 15F
→
08/26 20:01, , 16F
08/26 20:01, 16F
→
08/26 20:02, , 17F
08/26 20:02, 17F
→
08/26 20:03, , 18F
08/26 20:03, 18F
→
08/26 20:03, , 19F
08/26 20:03, 19F
→
08/26 20:04, , 20F
08/26 20:04, 20F
→
08/26 20:04, , 21F
08/26 20:04, 21F
→
08/26 20:05, , 22F
08/26 20:05, 22F
→
08/26 20:06, , 23F
08/26 20:06, 23F
→
08/26 20:12, , 24F
08/26 20:12, 24F
→
08/26 20:12, , 25F
08/26 20:12, 25F
→
08/26 20:13, , 26F
08/26 20:13, 26F
→
08/26 20:16, , 27F
08/26 20:16, 27F
→
08/26 20:16, , 28F
08/26 20:16, 28F
→
08/26 20:18, , 29F
08/26 20:18, 29F
→
08/26 20:19, , 30F
08/26 20:19, 30F
→
08/26 20:20, , 31F
08/26 20:20, 31F
→
08/26 20:20, , 32F
08/26 20:20, 32F
→
08/26 20:29, , 33F
08/26 20:29, 33F
討論串 (同標題文章)
Cloud 近期熱門文章
PTT數位生活區 即時熱門文章