# MapReduce

**MapReduce**是[Google](https://zh.wikipedia.org/wiki/Google)提出的一个[软件架构](https://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84)，用于大规模数据集（大于1[TB](https://zh.wikipedia.org/wiki/Terabyte)）的[并行运算](https://zh.wikipedia.org/wiki/%E4%B8%A6%E8%A1%8C%E9%81%8B%E7%AE%97)。概念“Map（映射）”和“Reduce（归纳）”，及他们的主要思想，都是从[函数式编程语言](https://zh.wikipedia.org/wiki/%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)借来的，还有从[矢量编程语言](https://zh.wikipedia.org/w/index.php?title=%E7%9F%A2%E9%87%8F%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80\&action=edit\&redlink=1)借来的特性。[\[1\]](https://zh.wikipedia.org/wiki/MapReduce#endnote_map)

当前的软件实现是指定一个Map（映射）函数，用来把一组键值对映射成一组新的键值对，指定并发的Reduce（归纳）函数，用来保证所有映射的键值对中的每一个共享相同的键组。
