雲端運算平台-Hadoop

Apache Hadoop

Hadoop Map/Reduce是一個易於使用的軟體平台,以 Map/Reduce 為基礎的應用程序,能夠運作在由上千台服務器所組成的大型叢集上,並以一種可靠容錯的方式平行處理資料集。

    • Map/Reduce 程式庫將輸入資料分成 M 份。
    • Master(JobTracker)將分成 M 份的工作送給 M 個狀態為 Idle 的 Worker(TaskTracker)來處理,將中間結果緩衝區存在記憶體內。
    • Worker 將緩衝區中的 Meta-Data 寫到本地磁碟上,並且把資訊傳回給 Master。
    • Master 將 Meta-Data 按照索引鍵值分類做 R 個 Partition,以免造成 Reduce 的複雜度,並將 Partition 分給 R 個 Worker。
    • R 個 Reduce Worker 從不同的 Map Worker 的 Partition 拿到數據,用索引鍵值進行排序。
    • Reduce Worker 分析 Meta-Data,對每一個唯一索引鍵值,執行 Reduce 函數。
    • 執行完畢後,各 Reduce Worker 回傳結果,用戶程序將 R 個結果輸出。