我讀了http://en.wikipedia.org/wiki/MapReduce的mapreduce,瞭解瞭如何在很多「文檔」中獲取「單詞」數量的例子。但是我不明白以下行:MapReduce與函數式編程中的map-reduce組合的區別
因此,MapReduce框架將(鍵,值)對列表轉換爲值列表。這種行爲與函數式編程映射和減少組合不同,後者接受任意值列表並返回一個結合了map返回的所有值的單個值。
有人可以再次闡述差異(MapReduce框架VS地圖和減少組合)嗎?特別是,reduce函數編程是做什麼的?
非常感謝。
關於「在所述值的類型上根本沒有約束」:您聽起來好像MapReduce需要特定的數據結構一樣。它不是。 – 2010-01-23 04:55:05
那麼,MapReduce文件確實將Map步驟描述爲產生鍵/值對的列表。這不需要特定的數據結構 - 像鏈表或散列表 - 但肯定似乎需要特定的數據結構 - 即鍵和值之間的映射。這就是爲什麼我在答案中使用後面的表達式。話雖如此,我認爲沒有什麼可以阻止類似MapReduce的操作在適當時繼續處理不同結構的數據......但我不知道這是否屬於專利的措辭(a * boo! *用於軟件專利!)。 – 2010-01-23 05:13:23
此外,當然沒有理由爲什麼鍵/值對中的值需要具有任何特定的類型......我當然從來不打算暗示這一點。 – 2010-01-23 05:16:33