作者yauhh (哟)
看板Cloud
标题Re: MapReduce (Re: [情报] 利用智慧型手机建构云端
时间Fri Aug 20 09:56:35 2010
我想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