Hadoop之MapReduce學(xué)習(xí)總結(jié)

  1. 優(yōu)點(diǎn)
  • MapReduce 易于編程,僅僅實(shí)現(xiàn)一些簡(jiǎn)單的接口,就可以完成一個(gè)分布式程序。并且部署到廉價(jià)的服務(wù)器上。
  • 良好的擴(kuò)展性,通過(guò)簡(jiǎn)單的增加服務(wù)器就可以增加它的運(yùn)算性能
  • 高容錯(cuò)性,MapReduce設(shè)計(jì)的初衷就是為了程序能在在廉價(jià)的機(jī)器上運(yùn)行, 這就要求具有高容錯(cuò)性。一臺(tái)機(jī)器掛了,就把運(yùn)算任務(wù)轉(zhuǎn)移到另外一臺(tái)機(jī)器,不至于這個(gè)任務(wù)失敗,且不需要人工操作
  • 適合pb級(jí)別的數(shù)據(jù)進(jìn)行離線處理,實(shí)現(xiàn)上千臺(tái)服務(wù)器并發(fā)工作,提供處理能力。
  1. 缺點(diǎn)
  • 不擅長(zhǎng)實(shí)時(shí)計(jì)算
  • 不擅長(zhǎng)流式計(jì)算,MapReduce的輸入數(shù)據(jù)是靜態(tài)的,提前準(zhǔn)備好的。
  • 不擅長(zhǎng)DAG(有向圖)計(jì)算,多個(gè)程序存在依賴(lài)。每個(gè)MapReduce結(jié)果都會(huì)寫(xiě)入磁盤(pán),這樣做會(huì)導(dǎo)致大量磁盤(pán)IO,造成程序性能?chē)?yán)重降低。
  1. MapReduce編程核心思想
  1. MapReduce 一般分為兩個(gè)階段,Map(分)和Reduce(和)
  2. Map階段并發(fā)MapTask,安全并行運(yùn)行,互不干擾。
  3. Reduce階段的并發(fā)ReduceTask,完全互不相關(guān)。但是它們依賴(lài)上一階段的所有MapTask的運(yùn)行結(jié)果
  4. MapReduce編程只能又一個(gè)Map階段和Reduce階段。
  1. MapReduce進(jìn)程
  • MrAppMaster:負(fù)責(zé)整個(gè)程序的過(guò)程調(diào)度及狀態(tài)協(xié)調(diào)
  • MapTask
  • ReduceTask
  1. MapReduce編程規(guī)范
  • Mapper階段
    • 用戶自定義的Mapper要繼承自己的父類(lèi)
    • Mapper的輸入數(shù)據(jù)是KV對(duì)的形式
    • Mapper中的業(yè)務(wù)邏輯寫(xiě)在map()方法中
    • mapper的輸出數(shù)據(jù)是KV對(duì)形式
    • map()方法(Map進(jìn)程)對(duì)每一個(gè)KV對(duì)調(diào)用一次
  • Reducer階段
    • 用戶自定義的Reducer要繼承自己的父類(lèi)
    • Reducer的輸入類(lèi)型對(duì)應(yīng)Mapper的輸出類(lèi)型,也是kv
    • Reducer的業(yè)務(wù)邏輯寫(xiě)在reduce()方法中
    • ReduceTask進(jìn)程對(duì)每一組形同k的<k,v>組調(diào)用一次reduce()方法
  • Driver階段
    • 相當(dāng)于YARN集群的客戶端,用于我們整個(gè)程序到集群。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、MapReduce應(yīng)用場(chǎng)景 Hadoop的Mapreduce是一個(gè)使用簡(jiǎn)單的框架,基于它寫(xiě)出來(lái)的程序可以運(yùn)行在...
    老實(shí)李閱讀 1,506評(píng)論 0 9
  • MapReduce工作流程 流程圖如下 解釋上面的流程是整個(gè)mapreduce最全工作流程,但是shuffle過(guò)程...
    ZFH__ZJ閱讀 617評(píng)論 0 3
  • 70歲的何大爺,老伴已經(jīng)去世了,他有個(gè)兒子叫何文建,爺倆性格都非常的頑固暴躁,大爺酷愛(ài)喝酒,但自從兩年前患上心臟...
    劉遠(yuǎn)鵬閱讀 142評(píng)論 0 1
  • 第二天,昨天的作業(yè)會(huì)讓我們清晰,一個(gè)人對(duì)待外界人事物的態(tài)度也是可以經(jīng)由挖掘和數(shù)算外界人事物帶給自己的價(jià)值而有所不同...
    秋水長(zhǎng)天_2fad閱讀 209評(píng)論 0 0
  • 只要我們擁有生命 就什么都可以爭(zhēng)取 If only we are alive, we can strive for...
    青禾甜品閱讀 229評(píng)論 0 0

友情鏈接更多精彩內(nèi)容