HADOOP的mapReduce流程解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/W609392362/article/details/79547417

1、首先第一个启动的是MRAppMasterk进程,它根据提交的job信息,计算出需要启动mapTask实例的数量,然后向集群申请对应的机器启动相应数量的maptask进程。

2、mapTask负责map阶段的数据处理。mapTask进程启动之后,根据给定的数据切片范围进行处理。

    主要流程如下:i)根据客户定义的inputformat来获取RecodReader读取数据,形成输入KV对。

                          ii)将KV对传给用户定义的map方法,做逻辑运算,然后将计算后输出的KV对缓存。

                         iii)将缓存中KV对,按K分区排序后不断溢写到磁盘上。

监控到map阶段数据处理完。启动在配置文件中设置好数量的reduceTask.

3、MRAPPMaster监控到所有的mapTask进程完成后,根据用户指定的参数启动对应的reduceTask数量。并告知reduceTask应从集群哪些机器获取Map阶段输出的数据。

4、reduceTask获取map阶段数据的数据,然后根据K重新进行归并排序,按照相同的K为一组。调用用户定义的Reduce进行逻辑处理,处理完后调用用户定义的outputformat将数据输出到外部存储。


猜你喜欢

转载自blog.csdn.net/W609392362/article/details/79547417