批次處理 基礎
MapReduce 計算範式
請說明 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 評分
