MapReduce簡介
MapReduce常用於對大規模數據集(大於1TB)的並行運算,或對大數據進行加工、挖掘和優化等處理。 MapReduce將並行計算過程高度抽象到了兩個函數map和reduce中,程序員只需負責map和reduce函數的編寫工作,而並行程序中的其它復雜問題(如分布式存儲、工作調度、負載均衡、容錯處理等)均可由MapReduce框架代為處理,程序員完全不用操心。
MapReduce技術特征:
橫向擴展,而非縱向擴展
失效被認為是常態
將處理向數據遷移
順序處理數據
隱藏系統層細節
平滑無縫的可擴展性
MapReduce設計思想
例如,求和:1+2+3+4+5+6+7+8+9+10=?,執行原理如下:
MapReduce工作原理
簡述MapReduce的設計思想及使用MapReduce編寫程序的步驟。(自己總結)
MapReduce處理大數據集的計算過程是將大數據集分解成為成百上千的小數據集,每個(或若干個)數據集分別由集群中的一個節點進行處理並生成中間結果,然后這些中間結果會進行合並,從而得到最終結果。