Map和Reduce执行过程
MapReduce是分布式运行,由两个阶段构成:map和reduce,MapReduce框架都是默认实现,用户只需map()和
reduce()两个函数,即可实现分布式计算。这两个函数形参和返回值是(key,value)
1.Map执行过程:
案例: str = "abceabd" 计算这个字符串中每一个字符出现的次数?
那么要获取每个block文本,就要遍历所有,获取其中的一行str使用split()方法将每个单词分成一个个block块
String[] words = str.split(" ");
根据要求,需要将每一个单词转换成为<k, v>的形式,k为单词本身,v为单词出现的次数。
2.Reduce执行过程:
执行reduce,接收map的输出<key, values>对这个结果进行汇总统计 以便values,进行简单的累加,就可以计算出key对应的次数。