在Hadoop上面进行并行计算需要按照MapReduce计算框架开发代码。
MapReduce计算过程主要分为map 、shuffle、reduce三个阶段,其中用户要实现 的只有map和reduce两个阶段,其他阶段框架自动完成。
Map阶段:当向MapReduce 框架提交一个计算作业时,它首先把计算作业拆分成若干个Map 任务,然后分配到不同的节点上去并行执行,每一个Map 任务处理输入数据中的一部分,Map处理完数据之后
shuffle阶段:当Map任务完成后,它会生成一些中间文件,对Map阶段的输出结果整理,将相同key的数据放到同一分区或节点,便于后面的Reduce任务。
reduce阶段:对shuffle后的数据聚合到一起并输出。