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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

MapReduce简述、工作流程

發(fā)布時間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MapReduce简述、工作流程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MapReduce簡述、工作流程

MR編程模型之執(zhí)行步驟:

  1、準備map處理的輸入數(shù)據(jù)

  2、mapper處理

  3、Shuffle

  4、Reduce處理

  5、結果輸出

?(input)<k1,v1> -> map -><k2,v2> -> combine -> <k2,v2> ->reduce -> <k3,v3>(output)

?

?

?

處理流程:

  

流程:

  1、輸入文本信息,由InputFormat?->?FileInputFormat ->?TextInputFormat,通過getSplits方法獲得Split數(shù)組,然后在用getRecordReader 方法對Split做處理,每讀一行交給一個map處理

  2、每個節(jié)點上的所有map,交由該節(jié)點上的Partitioner處理(Shuffling的過程),按key將map放在其他節(jié)點上去還是繼續(xù)在該節(jié)點下處理

  3、排序

  4、結果交由reduce處理

  5、處理完成后由?OutputFormat ->FileOutputFormat ->TextOutputFormat 寫到本地或Hadoop上

?

Split:MR處理的的數(shù)據(jù)塊,MR中最小的計算單元,默認是與HDFS中的Block(HDFS中的最小存儲單元,默認128M)是一一對應的,也可以手工設置(不建議修改)

InputFormat:將輸入的數(shù)據(jù)進行分片(Split)?InputSplit[] getSplits(JobConf var1, int var2)

  TextInputFormat:用來處理文本格式的數(shù)據(jù)

OutputFormat: 輸出

?

?

上圖圖解:

  一般來說,一個Split對應一個Block,但上圖是一個設置過后的。

  一個file文件被分成了n個Block,對應著就是2n個Split,經過InputFormat處理后,每個Split交由一個Mapper處理,通過Shuffling的分組和排序后產生多個Reducer,每個Reducer就會產生一個文件

?

?

?

MapReduce 1.x的架構:一個JobTracker+多個taskTracker

    JobTracker:負責資源管理和作業(yè)調度

    TrakTracker:定期向JobTracker匯報節(jié)點的健康、資源、作業(yè)情況,接收JT的命令,比如啟動/殺死任務

?

MapReduce 2.x:

  

?

轉載于:https://www.cnblogs.com/onone/articles/8483689.html

總結

以上是生活随笔為你收集整理的MapReduce简述、工作流程的全部內容,希望文章能夠幫你解決所遇到的問題。

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