设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 508|回复: 1
打印 上一主题 下一主题

MapReduce编程模式的简述

[复制链接]

该用户从未签到

跳转到指定楼层
楼主
发表于 2017-8-8 15:13:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面小编举一个有趣的例子,帮助大家快速理解MapReduce编程模式:
怎样找出一摞牌中有多少红桃?
一般情况下我们是一张一张数出红桃的数量。
但是使用MapReduce的编程方法是:给在座所有的人分配这些牌,让每个人自己数自己手中有几张是红桃,然后把数目汇报给我,这样我把所有玩家的数字结合起来,我就知道到底有多少张红桃。
就就对应了MapReduce的编程里面的两个核心函数:映射和化简。
MapReduce与Google的关系:
MapReduce是Google提出的一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。“Map(映射)"、“Reduce(化简)”的概念和主要思想,都是从函数式编程语言和矢量编程语言借鉴来的。帝通科技为你解答正是由于MapReduce有函数式和矢量编程语言的共性,使得这种编程模式特别适合于非结构化和结构化的海量数据的搜索、挖掘、分析与机器智能学习等。
产生背景:
MapReduce这种并行编程模式思想最早是在1995年提出的,首次提出了“map”和“fold”的概念,和Google现在所使用的“Map"和“Reduce”思想相吻合。
与传统的分布式程序设计相比,MapReduce封装了并行处理、容错处理、本地化计算、负载均衡等细节,还提供了一个简单而强大的接口。通过这个接口,可以把大尺度的计算自动地并发和分布执行,使编程变得非常容易。另外,MapReduce也具有较好的通用性,大量不同的问题都可以简单地通过MapReduce来解决。
据相关统计,每使用一次Google搜索引擎,Google的后台服务器就要进行1011次运算。这么庞大的运算量,如果没有好的负载均衡机制,有些服务器的利用率会很低,有些则会负荷太重,有些甚至可能死机,这些都会影响系统对用户的服务质量。而使用MapReduce这种编程模式,就保持了服务器之间的均衡,提高了整体效率。
小编简单介绍MapReduce的概念,希望也能够帮助你们的理解,最后小编总结一下。其实MapReduce就是一种编程的模式,我们可以用很多语言实现,比如java,C++。他的两大核心函数:map(映射)作用是过滤一些原始的数据,而Reduce(化简)作用是处理这些数据,比如我们如何数出纸牌的数量。
以上内容由帝通科技原创,转载请注明出处:www.ddv.cn

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    郁闷
    2017-8-3 09:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    沙发
    发表于 2017-8-11 10:35:07 | 只看该作者
    我的我的韩国SK一笑而过~
    http://www.geoidc.com/
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|中国U网    

    GMT+8, 2024-4-26 06:32 , Processed in 0.072712 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表