MapReduce 只要靠2个函数来进行计算,map函数和reduce函数,分开来说的话,它主要计算过程如下:
1 map函数的作用将多个输入转化成很多个键值对,具体如何转换,需要看具体问题编写具体的map函数。
2 对于产生的所有的键值对,会按照键的值进行分组,同一个键值的会分到同一组,每一组又可以归到一个reduce任务。
3 对于相同键产生序列对,reduce任务会将它们按照某种方式进行组合,具体组合方式也要看具体问题来看。
这里有必要说明一点的是,这里的键值对不一定是一对一,很多情况下是一对多,这样才会有键相同值不同的键值对如何组合。