批次處理 基礎

MapReduce 計算範式

AI 練習作答

請說明 MapReduce 的工作原理。

什麼是 MapReduce

MapReduce 是 Google 提出的分散式計算範式,Hadoop 的核心計算模型。將大規模資料處理問題拆解為 Map 和 Reduce 兩個階段。

Map 階段

對輸入資料的每筆記錄獨立執行映射函數,輸出 Key-Value 對。Map 任務可在多節點平行執行。

範例:計算詞頻時,每個單詞輸出 (word, 1)。

Shuffle & Sort

框架自動將相同 Key 的 Map 輸出分組並排序,傳送到對應的 Reducer。這是最昂貴的步驟(網路傳輸)。

Reduce 階段

對相同 Key 的所有 Value 執行聚合函數。

範例:將所有 (word, 1) 加總得到 (word, total_count)。

MapReduce 的限制

每個 MapReduce Job 都需讀寫磁碟,多步驟任務效能差。Spark 的記憶體計算模型解決了這個問題,使 MapReduce 逐漸被取代。

歷史意義

MapReduce 奠定了大資料批次處理的基礎,啟發了後來的 Spark、Flink 等框架。理解 MapReduce 有助於理解現代分散式計算的設計。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分