您好,登錄后才能下訂單哦!
這篇文章主要介紹“Hadoop MapReduce有什么作用”,在日常操作中,相信很多人在Hadoop MapReduce有什么作用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Hadoop MapReduce有什么作用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Hadoop MapReduce是一個軟件框架,基于該框架能夠容易地編寫應用程序,這些應用程序能夠運行在由上千個商用機器組成的大集群上,并以一種可靠的,具有容錯能力的方式并行地處理上TB級別的海量數據集。
1.軟件框架,2.并行處理,3.可靠且容錯,4.大規模集群,5.海量數據集。
因此,對于MapReduce可以簡單地認為,他是一個軟件框架,海量數據是它的“菜”,它在大規模集群上以一種可靠且容錯的方式并行地“烹飪這道菜”。
MapReduce能做什么?簡單講可以做大數據處理,即如何烹飪這道菜,比如數據加工、挖掘和數據分析等。
MapReuce的思想就是“分而治之”。Mapper負責“分”, 即把復雜的任務分解為若干個“簡單的任務”來處理。“簡單的任務”包含三層含義:一是數據或計算的規模相對原任務要大大縮小;二是就近計算原則,即任務會分配到存放著所需數據的節點上進行計算;三是這些小任務可以并行計算,彼此間幾乎沒有依賴關系。Reducer負責對map階段的結果進行匯總。至于需要多少個Reducer,用戶可以根據具體問題,通過在mapred-site.xml配置文件里設置參數mapred.reduce.tasks的值,缺省值為1。
MapReduce的思想就是“分而治之”。Mapper負責“分”,即把復雜的任務分解為若干個“簡單的任務”來處理。“簡單的任務”包含三層含義:一是數據或計算的規模相對原任務要大大縮小;二是就近計算原則,即任務會分配到存放著所需數據的節點上進行計算;三是這些小任務可以并行計算,彼此間幾乎沒有依賴關系。Reducer負責對map階段的結果進行匯總。至于需要多少個Reducer,用戶可以根據具體問題,通過在mapred-site.xml配置文件里設置參數mapred.reduce.tasks的值,缺省值為1。
愛上
Mapreduce大規模數據集的操作,分發給一個主節點管理下的各分節點共同完成,然后通過整合各分節點的中間結果,得到最終的結果。簡單地說,MapReduce就是“任務的分解與結果的匯總”。上述處理過程被MapReduce高度的抽象為兩個函數:map和reduce,map負責把任務分解成多個任務,reduce負責把分解后多任務處理的結果匯總起來。至于在并行編程中的其他種種復雜問題,如分布式存儲,工作調度,負載均衡,容錯處理,網絡通信等,均由MapReduce框架負責處理。
用MapReduce來處理的數據集(或任務)必須具備這樣的特點:
待處理的數據集可以分解成許多小的數據集,而且每一個小數據集都可以完全并行的進行處理。
① 將任務的輸入數據分割成固定大小的片段split。
② 將每個split進一步分解成一批鍵值對<k1,v1>。
③ hadoop為每一個split創建一個Map任務,并將對應的split中的<k1,v1>對作為輸入 。
④ 得到計算的中間結果<k2,v2>,接著講中間結果按照k2進行排序,并將key值相同的value放在一起形成一個新列表,形成<k2,list(v2)>元組。最后在根據key值的范圍將這些元組進行分組,對應不同的Reduce任務。
⑤ reduce把熊不同mapper接收來的數據整合在一起并進行排序,然后用reduce函數對輸入的元組進行處理,得到鍵值對<k3,v3>.
⑥ 將最后得到的結果<k3,v3 >對輸出到HDFS上,
更多內容詳解-MapReduce框架:http://www.cnblogs.com/sharpxiajun/p/3151395.html。
到此,關于“Hadoop MapReduce有什么作用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。