閱讀919 返回首頁    go 微信


擴展MapReduce__概要_MapReduce_大數據計算服務-阿裏雲

傳統的MapReduce模型要求每一輪MapReduce操作之後,數據必須落地到分布式文件係統上(比如HDFS或 MaxCompute 表)。而一般的MapReduce應用通常由多個MapReduce作業組成,每個作業結束之後需要寫入磁盤,接下去的Map任務很多情況下隻是讀一遍數據,為後續的Shuffle階段做準備,這樣其實造成了冗餘的IO操作。

MaxCompute 的計算調度邏輯可以支持更複雜編程模型, 針對上麵的那種情況,可以在Reduce後麵直接執行下一次的Reduce操作,而不需要中間插入一個Map操作。基於此,MaxCompute 提供了擴展的MapReduce模型,即可以支持Map後連接任意多個Reduce操作,比如Map->Reduce->Reduce。

Hadoop Chain Mappper/Reducer也支持類似的串行化Map或Reduce操作,但和MaxCompute的擴展MapReduce(MR2)模型有本質的區別,因為Chain Mapper/Reducer還是基於傳統的MapReduce模型,隻是可以在原有的Mapper或Reducer後麵在增加一個或多個Mapper操作(不允許增加Reducer)。這帶來的好處是用戶可以複用之前的Mapper業務邏輯,可以把一個Map或Reduce拆成多個Mapper階段,但本質上並沒有改變底層的調度和I/O模型。

MaxCompute MapReduce相比,MR2在Map/Reducedeng 等函數編寫方式上基本一致。較大的不同點發生在作業時。更多詳細信息可參考擴展MapReduce示例

最後更新:2016-10-17 15:07:41

  上一篇:go MapReduce__概要__大數據計算服務-阿裏雲
  下一篇:go 開源兼容MapReduce__概要_MapReduce_大數據計算服務-阿裏雲