他既不是软件 也不是算法
而是一种编程模型 用于大数据的并行运算。
换句话说,Map reduce是一套实现分布式计算的框架

Map+Reduce
发散+归并

Map reduce都能解决哪些问题?
统计词频
inverted index
anagrams
top k frequency
page rank

问题1:统计一篇文章中某单词出现的词频?
之前的一台或者多台机器进行for 循环的方法属实不太行
我们采用多台机器map reduce
divide the tasks, and merge.
也就是说 Map就是把文章拆分成单词的过程 而erduce就是把单词次数合并在一起的过程。

那么谁来拆分文章成一小段一小段的呢?
中间的传输谁来负责,怎么样知道把这一步得分结果放在机器三还是机器四?
上面的这些都要依靠map reduce框架实现
而 这个框架里面 最重要的就是map函数和reduce函数
首先想一下函数的接口是什么?

首先想一下 他们的输入的输出必须是key value形式。
Map() 输入k-v: 文章储存地址:文章内容 输出 形式也是k-v
reduce() 输入k-v: map的输入