大数据第四天——MapReduce原理及IDEA Maven下WordCount实例两种实现

本文介绍了MapReduce的基本概念,它是Hadoop中的分布式计算框架,简化了大规模数据处理。MapReduce遵循“分而治之”的设计思想,通过Map阶段进行数据划分,Reduce阶段进行结果汇总。文章详细讲解了MapReduce的组成架构,并提供了IDEA环境下使用Maven构建WordCount程序的两种实现方式,包括jar包运行和直接运行程序的方法。
摘要由CSDN通过智能技术生成

1.MapReduce概述

HDFS实现了分布式文件存储,存储问题解决了,我们就需要考虑如何对数据进行处理,MapReduce是一个计算框架(编程模型),基于该计算框架,可以很容易的编写数据处理程序,从而以较高的效率处理海量数据集。

MR框架对于程序员的最大意义在于,不需要掌握分布式计算编程,不需要考虑分布式编程里可能存在的种种难题,比如任务调度和分配、文件逻辑切块、位置追溯、工作。这样,程序员能够把大部分精力放在核心业务层面上,大大简化了分布式程序的开发和调试周期。

2.MapReduce的设计思想

MapReduce的设计思想简单概括而言,就是“分而治之”。整个MapReduce阶

段分为两大部分,分别是Map、Reduce。

(1)map负责“分”,即把复杂的任务分解为若干个“简单的任务”来处理。“简单的任务”包含三层含义:一是数据或计算的规模相对原任务要大大缩小;二是就近计算原则,即任务会分配到存放着所需数据的节点上进行计算;三是这些小任务可以并行计算,彼此间几乎没有依赖关系。

(2)reducer负责”合”,即对map阶段输出的处理结果进行汇总。

3.MapReduce组成架构

 

 

在MapReduce程序进行计算时,需要yarn进行资源管理,yarn主要分为ResourceManager和NodeManager两部分。

ResourceManager是一个全局的资源管理器,ResourceManager控制整个集群并管理程序向集群其他DataNode进行资源的分配。

NodeManager是每个DataNode节点上的资源和任务管理器,一方面,它会定时地向ResourceManager汇报本节点上的资源使用情况以及运行状态;另一方面,它接收并处理来自ResourceManager

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值