普考-資訊處理計算機概要113 年第 25 題單選題
在大數據(big data )分析的應用中,常被使用的計算方法是映射化簡(MapReduce)。有關映射化簡之敘述,下列何者錯誤?
A映射化簡由分割(split)和合併(join)兩個運算步驟所構成正確答案
B映射化簡的概念是早在 1950 年代的函數式語言(例如 Lisp)中即已採用
C映射化簡適合處理分散式資料的平行計算
DGoogle 和 Hadoop 都支援映射化簡的應用開發
A正確答案
MapReduce 由 Map(映射)和 Reduce(化簡)兩步驟構成,不是 split 和 join。
為什麼答案是 A
錯誤敘述(本題要選的答案)。MapReduce 由 Map(映射)和 Reduce(化簡)兩步驟構成,不是 split 和 join。split 只是 Map 前的資料切割前處理,join 也不是核心運算步驟。
載入中…
完整詳解
Pro · 無限重點 MapReduce 由 Map(映射)和 Reduce(化簡)兩步驟構成,不是 split 和 join。
看名字就知道!MapReduce = Map + Reduce,選項把名字換成 split/join 就是陷阱。
逐選項分析
A✓ 正確
錯誤敘述(本題要選的答案)。MapReduce 由 Map(映射)和 Reduce(化簡)兩步驟構成,不是 split 和 join。split 只是 Map 前的資料切割前處理,join 也不是核心運算步驟。
B✕
正確。map 和 reduce 是函數式程式設計(Functional Programming)的經典高階函數,早在 1950-60 年代的 Lisp 語言就已存在,Google 只是把此概念應用到分散式大數據運算。
C✕
正確。MapReduce 的核心價值就在於將資料切成多份丟給多台機器平行 Map,再匯總 Reduce,非常適合分散式平行運算場景。
D✕
正確。Google 在 2004 年發表 MapReduce 論文,而 Hadoop 是 Apache 開源的 MapReduce 實作框架,兩者皆支援 MapReduce 應用開發。
MapReduce 兩大核心步驟
| 步驟 | 動作 | 輸入→輸出 | 比喻 |
|---|
| Map(映射) | 將資料轉換為 key-value 對 | 原始資料 → <key, value> | 把一堆書分類貼標籤 |
| Shuffle(中間) | 依 key 分組排序 | <key, value> → <key, [values]> | 把同標籤的書堆一起 |
| Reduce(化簡) | 彙總同 key 的資料 | <key, [values]> → 結果 | 數每類書有幾本 |
MapReduce 的命名本身就是答案:Map(映射)階段將資料轉換成鍵值對,Reduce(化簡)階段將相同鍵的值彙整。出題者最愛用 split/join、divide/merge 這類「聽起來也對」的動詞來混淆,因為分散式運算確實會切割資料、最後合併結果,但那是底層實作細節,不是框架定義的兩大步驟。判斷關鍵:看方法名稱——MapReduce 框架的核心 API 就叫 map() 和 reduce(),不是 split() 和 join()。考生常因為理解了「分割→處理→合併」的邏輯流程,就誤選了描述流程的選項,卻忘了題目問的是「框架明確定義的步驟名稱」。