Hadoop()MapReduce基本原理

版权声明:@GaoShan https://blog.csdn.net/weixin_42969976/article/details/87534630

什么是MapReduce

MapReduce是一种可用于数据处理的并行运算框架。基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。

MR启动过程

client客户端向yarn集群(resourcemanager)提交任务
resourcemanager选择一个node创建appmaster
appmaster根据任务向rm(resourcemanager)申请资源
rm返回资源申请的结果
appmaster去对应的node上创建任务需要的资源(container形式,包括内存和CPU)
appmaster负责与nodemanager进行沟通,监控任务运行
最后任务运行成功,汇总结果

MapReduce中的Combiner

①是为了避免MapTask和ReduceTask之间的数据传输而设置的。
②Hadoop允许针对Map Task的输出指定一个合并函数。
③Combiner为了减少传输到Reduce阶段的数据量
减少了Mapper阶段的输出,从而减少网络带宽和Reduce阶段的负载

猜你喜欢

转载自blog.csdn.net/weixin_42969976/article/details/87534630