打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Hadoop执行过程
根据Hadoop++论文的描述,Hadoop执行过程分为Load、Map、Shuffle、Reduce这四个阶段,可以看成是一个由split、itemize、map、reduce等10个函数或算子组成的DAG。其中每一个函数或算子,都可以提供自定义的实现以此来扩展Hadoop的功能或优化性能。

1、Load阶段
输入数据经block函数,按配置的block大小切分成多个block,每个block按配置存储多个复本,Hadoop尽可能保证不同复本存储在不同结点上。

2、Map阶段
每个mapper子任务读取一个split。每个split包含一个或多个block,是一个逻辑单元。split函数决定怎么划分split。split通过itemize函数分割成记录,框架对每条记录调用map函数。map的输出由mem函数切割成多个spill。spill中的每条记录由sh函数决定输出到哪个reducer,为每个reducer产生一个逻辑分区。每个逻辑分区根据cmp函数排序并根据grp函数分组,再根据combine函数进行预reduce处理后存储到文件。如果一台mapper机上对某个reducer产生了多个上述处理所得的spill文件,则进行合并,合并时同样执行排序、分组和combine流程。

3、Shuffle阶段
每个mapper产生的spill文件再次经过sh函数分派给每个reducer。每个reducer从每个mapper接收给它的数据,如果能在内存中合并就在内存中合并,否则接收后先存储,等全部完成后再来合并。最终为每个reducer准备好一个待处理的文件。

4、Reduce阶段
每个reducer的输入文件先同样执行排序、分组和combine流程,然后根据reduce函数得到最终结果。

下面的图显示了一个有4个节点,4个mapper,2个reducer的Map Reduce程序的执行过程。
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
hadoop 的MapReduce原理和学习心得
Hadoop技术原理总结
hadoop运行过程
Hadoop Shuffle详解
MapReduce过程详解及其性能优化
深度分析如何在Hadoop中控制Map的数量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服