日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

漫画:什么是MapReduce

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 漫画:什么是MapReduce 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自?腦洞有點大的 ?程序員小灰

什么是MapReduce?


MapReduce是一種編程模型,其理論來自Google公司發表的三篇論文(MapReduce,BigTable,GFS)之一,主要應用于海量數據的并行計算。


MapReduce可以分成MapReduce兩部分理解。

1.Map:映射過程,把一組數據按照某種Map函數映射成新的數據。

2.Reduce:歸約過程,把若干組映射結果進行匯總并輸出。





讓我們來看一個實際應用的栗子,如何高效地統計出全國所有姓氏的人數?


我們可以利用MapReduce的思想,針對每個省的人口做并行映射,統計出若干個局部結果,再把這些局部結果進行整理和匯總:






這張圖是什么意思呢?我們來分別解釋一下步驟:


1.Map

以各個省為單位,多個線程并行讀取不同省的人口數據,每一條記錄生成一個Key-Value鍵值對。圖中僅僅是簡化了的數據。


2.Shuffle

Shuffle這個概念在前文并未提及,它的中文意思是“洗牌”。Shuffle的過程是對數據映射的排序、分組、拷貝。


3.Reduce

執行之前分組的結果,并進行匯總和輸出。



需要注意的是,這里描述的Shuffle只是抽象的概念,在實際執行過程中Shuffle被分成了兩部分,一部分在Map任務中完成,一部分在Reduce任務中完成。



Hadoop如何實現MapReduce?




Hadoop是Apache基金會開發的一套分布式系統框架,包含多個組件,其核心就是HDFSMapReduce


由于篇幅原因,文本不會對Hadoop做完整的介紹,只是簡單介紹一下Haddoop框架當中如何實現MapReduce。


下面這張圖是Hadoop框架執行一個MapReduce Job的全過程:




這里需要對幾種實體進行解釋:


HDFS:??

Hadoop的分布式文件系統,為MapReduce提供數據源和Job信息存儲。


Client Node:?

執行MapReduce程序的進程,用來提交MapReduce Job。


JobTracker Node:?

把完整的Job拆分成若干Task,負責調度協調所有Task,相當于Master的角色。


TaskTracker Node:?

負責執行由JobTracker指派的Task,相當于Worker的角色。這其中的Task分為MapTask和ReduceTask。



總結

以上是生活随笔為你收集整理的漫画:什么是MapReduce的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。