上次新霸哥给大家介绍了一些hadoop的相关知识,发现大家对hadoop有了一定的了解,但是还有很多的朋友对mapreduce很模糊,下面新霸哥将带你共同学习mapreduce编程模型。

  mapreduce编程模型可以利用大量的商用服务器构成大规模集群来解决处理千兆级别的数据量问题。mapreduce编程模型有两个比较独立的步骤,分别是map和reduce

  map:比较常见的就是数据初始读取和转换的步骤,同时在这个步骤中,每个独立的输入数据记录都进行并行处理。

  Reduce: 一个数据整合或者加和的步骤,值得注意的是,相关联的所有数据记录要放在一个计算节点来处理。

  新霸哥注意到了Hadoop系统中MapReduce的核心思路是:将输入的数据在逻辑上分割成多个数据块,其中每个逻辑数据块被Map任务单独地处理。data块处理后所得结果会被划分到不同的数据集,且将data集排序完成。每个经过排序的数据集传输到Reduce任务进行处理。

  当在处理大数据的时候,我们可以尝试使用MapReduce来解决这个计数问题

  假设有一个多台服务器组成的集群供我们使用,假设该集群的计算节点数量为五十,每台服务其上都会运行非常多的Map处理,假设有10000个file,这样就会有10000个Map处理这些file,在给定的时间内,我们假设有多少个CPU核,就会有多少个Map在同时进行。集群的服务器是十六核的,所以可以有十六个Map同事运行,这样每台服务器负责运行三十万个Map处理,整个数据处理过程中,每个计算节点都会运行十个Mapper,共3万个迭代(每次迭代过程可以运行十六个Mapper,一个CPU运行一个Mapper)

  每个Mapper处理一个file,抽取file的单词,输出<{WORD},1>键值对

  假设我们只有一个Reduce,这个假设不是必须的,只是默认的设定,实际应用的场景中我们根据需求常常需要改变。

  Reduce接收<{WORD},[1,…,1]>这样的键值对

  Reduce每处理一个一样的单词,就将该单词的计数加一,最终得到单词的总数,然后按照以下键值对格式输出:<{WORD},{单词总数}>

  最后排序输出结果。

  上面就是一个非常完整的例子,如果你在学习中还遇到过一些其他的问题欢迎和新霸哥一起交流学习。

mapreduce编程模型你知道多少?的更多相关文章

  1. MapReduce 编程模型

    一.简单介绍 1.MapReduce 应用广泛的原因之中的一个在于它的易用性.它提供了一个因高度抽象化而变得异常简单的编程模型. 2.从MapReduce 自身的命名特点能够看出,MapReduce ...

  2. MapReduce编程模型详解(基于Windows平台Eclipse)

    本文基于Windows平台Eclipse,以使用MapReduce编程模型统计文本文件中相同单词的个数来详述了整个编程流程及需要注意的地方.不当之处还请留言指出. 前期准备 hadoop集群的搭建 编 ...

  3. MapReduce编程模型简介和总结

    MapReduce应用广泛的原因之一就是其易用性,提供了一个高度抽象化而变得非常简单的编程模型,它是在总结大量应用的共同特点的基础上抽象出来的分布式计算框架,在其编程模型中,任务可以被分解成相互独立的 ...

  4. [转]Hadoop集群_WordCount运行详解--MapReduce编程模型

    Hadoop集群_WordCount运行详解--MapReduce编程模型 下面这篇文章写得非常好,有利于初学mapreduce的入门 http://www.nosqldb.cn/1369099810 ...

  5. MapReduce 编程模型概述

    MapReduce 编程模型给出了其分布式编程方法,共分 5 个步骤:1) 迭代(iteration).遍历输入数据, 并将之解析成 key/value 对.2) 将输入 key/value 对映射( ...

  6. MapReduce编程模型及其在Hadoop上的实现

    转自:https://www.zybuluo.com/frank-shaw/note/206604 MapReduce基本过程 关于MapReduce中数据流的传输过程,下图是一个经典演示:  关于上 ...

  7. 批处理引擎MapReduce编程模型

    批处理引擎MapReduce编程模型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. MapReduce是一个经典的分布式批处理计算引擎,被广泛应用于搜索引擎索引构建,大规模数据处理 ...

  8. MapReduce 编程模型 & WordCount 示例

    学习大数据接触到的第一个编程思想 MapReduce.   前言 之前在学习大数据的时候,很多东西很零散的做了一些笔记,但是都没有好好去整理它们,这篇文章也是对之前的笔记的整理,或者叫输出吧.一来是加 ...

  9. 【MapReduce】二、MapReduce编程模型

      通过前面的实例,可以基本了解MapReduce对于少量输入数据是如何工作的,但是MapReduce主要用于面向大规模数据集的并行计算.所以,还需要重点了解MapReduce的并行编程模型和运行机制 ...

随机推荐

  1. SQL SERVER ->> Wait Stats

    等待状态是隔离SQL SERVER性能问题的一个重要手段,从实例级别入手.可以大概看出SQL SERVER在过去某段时间内是否处于某种资源的吃紧状态.不过取决于你是否有建立有效的性能数据收集机制.sy ...

  2. USACO Section 2.2: Subset Sums

    dp题,一碰到dp我基本就是跪,搜了网上的答案分两种,一维和二维. 先讲二维,sum[i][j]表示前i个数的subset里差值为j的分法数量.当加入数字i时,有两种选择,某一个set和另外一个set ...

  3. 使用 .gitignore来忽略某些文件【转】

    转自:http://www.cnblogs.com/shangdawei/archive/2012/09/08/2676493.htmlhttp://blog.csdn.net/richardyste ...

  4. C# GUID的使用

    GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...

  5. ORACLE EBS R12 - 寄售功能知多少

    材料以寄售方式供应,是制造业实现零库存管理的一种方式.东西放在我这里,不用的时候,东西还是供应商的,用的时候,按"装机"数量进行付款.这种业务模式,对于竞争日趋白热化的家电行业,非 ...

  6. shell查找匹配行,输出该行并输出下面的一行

    查找匹配行,输出该行并输出下面的一行 grep: grep -A 1 'keyword'   file awk:awk '$0~/keyword/{print $0; getline; print $ ...

  7. C盘空间不足

    C盘空间不足 2014-11-27 Win7实用技巧之七实战C盘空间不足之三招四式

  8. HTML中多媒体的应用_Flash/MP3/设置可以活动的文字

    一.HTML中多媒体的应用_falsh动画(往网页中插入Flash动画) 1. Flash动画插入第一种方法:使用<embed>...</embed>标记动画会自动缩小 属性: ...

  9. js之客户端检测

    1 能力检测判断是否有某个属性或方法,例:在低版本中的opera浏览器中,window下有个opera属性 if (window.opera) { alert("opera"); ...

  10. 记一次高级java工程师职位的面试

    阿里在业内做java方面的有关开发可谓是一流的.它给我的第一印象,就是办事效率很高. 周日简历发过去,周一电话就打过来了,接到电话后,面试官很客气,问现在方面吗,我说现在在上班,有点忙,然后和面试官约 ...