分佈式計算框架MapReduce

編程模型之核心概念

  • Split
  • InputFormat
  • OutputFormat
  • Combiner:map端的聚合操作
  • Partitoner:決定MapTask輸出的數據由哪裏ReduceTask處理。默認實現:Key.hash % numReduceTask

編程模型之執行步驟

  • 準備map處理的輸入數據
  • Mapper處理
  • Shuffle
  • Reduce處理
  • 結果輸出

在這裏插入圖片描述

  1. 通過 InputFormat 讀入HDFS上的文件
  2. 通過 Split 進行分片後,用 RecordReader 讀取進來
  3. input(k,v) pairs ⇒ map ⇒ intermediate(k,v) pairs
  4. 通過 Partitioner 進行分區後,按照一定的規則進行 Shuffling,然後按字典排序
  5. 通過 Reduce 後,OutputFormat 寫回到 HDFS 上
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章