A股上市公司传智教育(股票代码 003032)旗下高端IT教育品牌

全国咨询/投诉热线:400-618-4000

好口碑IT培训机构

全国中心

 

  • 首页
  • 全部课程
  • 免费教程
  • 教研团队
  • 开班时间
  • 报名流程
  • 报考大学
  • 原创书籍
  • 项目库
  • 学员社区
JavaEE 鸿蒙应用开发 HTML&JS+前端 Python+大数据开发 人工智能开发 电商视觉设计 软件测试 新媒体+短视频
直播运营
产品经理 集成电路应用开发
(含嵌入式)
  • JavaEE
  • 鸿蒙应用开发
  • HTML&JS+前端
  • Python+大数据开发
  • 人工智能开发
  • 电商视觉设计
  • 软件测试
  • 新媒体+短视频
  • 产品经理
  • 集成电路应用开发(含嵌入式)

热门课程

  • JavaEE
  • 鸿蒙应用开发
  • HTML&JS+前端
  • Python+大数据开发
  • 人工智能开发
  • AI+设计
  • 软件测试
  • 新媒体+短视频直播运营
  • 产品经理
  • 集成电路与机器人应用开发
北京昌平
北京顺义
上海
广州
深圳
武汉
郑州
西安
长沙
济南
重庆
南京
杭州
石家庄
成都
合肥
太原
首页技术文章 正文

详解MapReduce编程的Map模型和Reduce模型

更新时间:2020-12-17 来源:黑马程序员 浏览量:

1577370495235_学IT就到黑马程序员.gif

  MapReduce是一种编程模型,用于处理大规模数据集的并行运算。使用MapReduce执行计算任务的时候,每个任务的执行过程都会被分为两个阶段,分别是Map和Reduce,其中Map阶段用于对原始数据进行处理,Reduce阶段用于对Map阶段的结果进行汇总,得到最终结果,这两个阶段的模型如图1所示。

1608176052081_21.gif

 图1 MapReduce简易模型

  MapReduce编程模型借鉴了函数式程序设计语言的设计思想,其程序实现过程是通过map()和reduce()函数来完成的。从数据格式上来看,map()函数接收的数据格式是键值对,产生的输出结果也是键值对形式,reduce()函数会将map()函数输出的键值对作为输入,把相同key值的value进行汇总,输出新的键值对。接下来,通过一张图来描述MapReduce的简易数据流模型,具体如图2所示。

1608176064444_22.gif

   图2 MapReduce简易数据流模型

   关于图2描述的MapReduce简易数据流模型的相关说明,具体如下:

   (1)将原始数据处理成键值对形式。

   (2)将解析后的键值对传给map()函数,map()函数会根据映射规则,将键值对映射为一系列中间结果形式的键值对。

   (3)将中间形式的键值对形成形式传给reduce()函数处理,把具有相同key的value合并在一起,产生新的键值对,此时的键值对就是最终输出的结果。

   这里需要说明的是,对于某些任务来说,可能不一定需要Reduce过程,也就是说,MapReduce的数据流模型可能只有Map过程,由Map产生的数据直接被写入HDFS中。但是,对于大多数任务来说,都是需要Reduce过程的,并且可能由于任务繁重,需要设定多个Reduce,例如,下面是一个具有多个Map和Reduce的MapReduce模型,具体如图3所示。

1608176074884_23.gif

 图3 多个Map和Reduce的MapReduce模型

  图3演示的是含有3个Map和2个Reduce的MapReduce程序,其中,由Map产生的相关key的输出都会集中到Reduce中处理,而Reduce是最后的处理过程,其结果不会进行第二次汇总。


猜你喜欢:

MapReduce程序如何设置本地运行模式?

HBase数据库物理存储的存储方式介绍

黑马程序员大数据培训课程 

最新资讯

  • 有哪些页面置换算法?

    2024-05-22
  • 如何解决Redis的并发竞争Key问题?

    2024-05-22
  • varchar和char的使用场景?

    2024-05-22
  • 协程为何比线程还快?

    2024-05-17
  • TIME_WAIT过多是因为什么?

    2024-05-17
  • range和xrange的区别是什么?

    2024-05-17

相关阅读

  • HBase数据库物理存储的存储方式介绍【大数据文章】

    2020-12-17
  • HDFS分布式文件系统的优点缺点有哪些?

    2020-12-16
  • 不同系统如何加载数据创建RDD?

    2020-12-07
  • 什么是数据仓库?Hive数据仓库特点简介

    2020-12-07
  • Sqoop是什么?Sqoop发展历程简介

    2020-12-07
  • 怎样在hadoop虚拟机上安装和配置JDK?

    2020-12-02
分享到:

Java培训班课程javaee

Python培训机构python大数据

web前端培训课程升级V8.5web

AI+设计培训课程ui

大数据培训课程cloud

软件测试培训课程test

c

新媒体运营培训netmarket

产品经理培训课程pm

linux培训Linux

movies

智能机器人培训robot

电商视觉设计课程uids

AI

集成电路应用开发(嵌入式)培训课程jdbc

选择校区
北京校区 
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
在线咨询 我要报名
  •  

    试听

  •  

    咨询

  •  

    报名

 
和我们在线交谈!

深圳SEO优化公司福田关键词按天计费报价徐州网站设计报价贺州高端网站设计价格商丘阿里店铺运营价格兴安盟外贸网站制作报价西安seo推荐天津网站改版公司娄底设计网站公司黔西南网络广告推广价格南充网络广告推广公司松原高端网站设计多少钱蚌埠百度爱采购鹤岗如何制作网站晋城模板推广哪家好亳州关键词排名包年推广报价上海网站优化软件价格宝安seo价格甘孜网站优化价格郑州网站设计公司松岗网站搭建报价惠州百度seo报价唐山模板网站建设价格那曲网站设计模板大浪网站优化按天收费推荐四平如何制作网站推荐岳阳关键词按天计费来宾模板推广价格惠州网站设计公司安康模板网站建设公司渭南网站制作歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化