用JavaScript闡述MapReduce原理

  谷歌在2003到2006年間連續發表了三篇非常有影響力的文章,分別是2003年在SOSP上發佈的GFS,2004年在OSDI上發佈的MapReduce,以及2006年在OSDI上發佈的BigTable。GFS是文件系統相關的,其對後來的分佈式文件系統設計具有指導意義;MapReduce是一種並行計算的編程模型,用於作業調度;BigTable是一個用於管理結構化數據的分佈式存儲系統,構建在GFS、Chubby、SSTable等Google技術之上。相當多的Google應用使用了BigTable,比如Google Earth和Google Analytics。因此這三種技術並稱爲谷歌技術”三寶”。今天,D瓜哥班門弄斧,對MapReduce來個”庖丁解牛”!

MapReduce簡介

  MapReduce是一個編程模型,也是一個處理和生成超大數據集的算法模型的相關實現。用戶首先創建一
個Map函數處理一個基於key/value pair的數據集合,輸出中間的基於key/value pair的數據集合;然後
再創建一個Reduce函數用來合併所有的具有相同中間key值的中間value值。

 

 

編程實踐

  常言道:”實踐出真知” 。是騾子是馬,拉出來遛遛才知道。所以,如果真的想搞懂這個原理,還是親自寫代碼實踐一下才是硬道理。

  最近和幾個朋友一起學習JavaScript,所以就比較關注JavaScript。昨天上網瞎逛時,驚奇地發現,竟然有牛人使用JavaScript實現了MapReduce算法。然後轉過來和大家分享,同時再加上我自己的一些狗尾續貂的介紹,希望有助於大家理解MapReduce。具體代碼實現如下:

  沒在這裏插入過代碼,完整內容,見

我的博客:“地瓜哥”博客網,http://www.diguage.com/archives/75.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章