MapReduce(一)

微信公众号:码农小胡

如有问题或建议,请公众号留言

mapreduce原理

1、mapreduce是一个分布式运算程序的编程框架,是用户开发,基于hadoop的数据分析应用的核心框架

2、maoreduce核心功能是将用户编写的业务逻辑代码和自带默认的组建整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。

二、为什么用maoreduce

1、海量资源在单机上处理因为硬件资源限制,无法胜任

2、而一旦将单机版程序扩展到集群来分布式运行。将极大增加程序的复杂度和开发难度

3、引入mapreduce框架后,可将绝大部份工作集中在业务逻辑的开发上

三、mapreduce框架结构及核心运行机制

分布式运算程序往往需要分成至少两个阶段;

第一阶段的task并发实例,各司其职各自为政,互不干扰,完全并行,(maptask)

第二阶段的task并发实例互不相干,但是他们的数据依赖于上一个阶段的所有task并发实例的输出(reducetask)

mapreduce编程模型只能包含一个map阶段与一个reduce阶段,如果用户的业务逻辑非常复杂,只能来多个mapreduce程序串行运行。

mapreduce框架设计思想

例子:统计文件中每一个单词出现的总次数

1、读取数据

2、将数据传入到服务器中,切割成block,统计block中的数据

3、每个maptask统计各自的数据

4、传入到reducetask数据,统计数据

5、mrapplication master是一个主方法

GitHub地址:https://github.com/xiaojiecapf/hadoopTest

下面的是我的公众号二维码图片,欢迎关注我。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180602G1IFQV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券