我想弄清楚MapReduce,到目前爲止我想我已經獲得了一個好的理解。爲什麼MapReduce在映射步驟中將每個值都映射爲1?
但是,有一件事讓我困惑。在MapReduce的每個示例和解釋中,我都可以發現,映射步驟將所有值映射爲1.例如,在最常見的示例中(計算字符串中單詞的出現次數),映射部分將每個單詞分割開來,然後將其映射到值1
的減少部分然後組合/降低等詞語,加起來的倍量它們發生,使得它們映射至N而不是1(N是多少次出現的字)。
我不明白的是:爲什麼還打擾他們映射到1首先?看起來他們總是會映射到1.爲什麼不把它們分開,然後在Reduce步驟中,在那裏進行映射,並同時將所有內容相加?
我敢肯定,我一定有一個很好的理由,我無法想象。謝謝!
(這個問題是關於MapReduce的作爲一般的,不一定對Hadoop的或任何其他特定的技術或實現概念)