Re: MapReduce (Re: [情報] 利用智慧型手機建構雲端
我想MapReduce是個model,不一定有個完整的底層平台.
既然是programming model,有可能從一開始寫程式就可以順著這個心法做.
從檔案文件處理出發,首先要從檔案系統取得檔案清單. 這是map:
TakeFiles(folder, nil):
for each file in dir(folder),
emit(file, nil).
可以叫好幾台電腦分別處理不同的目錄,把檔案抓出來.
檔案名字變成許多小片段,送到master node或是一些groupper.
接著,要把檔案和詞彙配對,好觸發每一個文件詞彙搜集的map工作.
假設詞彙的數目可以容許一個工作做完,將檔案與詞彙配對的工作是一個reduce:
Pair(file, terms):
for each term in terms,
FindTerm(file, term).
FindTerm是個map:
FindTerm(file, term):
for each word in content(file),
if (word = term),
emit(term, 1).
有何指教?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.21.94.199
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 2 之 6 篇):
Cloud 近期熱門文章
PTT數位生活區 即時熱門文章