例1:文件的字符串查找

这里reduce不做merge的工作,因为每行都是不一样的,不能merge.

与传统的grep程序相比,使用MapReduce可以加快处理,因为1它是Distributed的,不用把所有的文件都拷到一台机器上运行,你的data可以在不同的server上,

原因2,它能并行处理,加快处理的速度。

例2: Reverse Web-link graph

Map:将<source,target>置反

Reduce: 输出每个target的source list.(不止一个)

例3: 计算URL的访问频率

有两个MapReduce,一个MapReduce计算每个URL的数量(类似前面的wordcount),另一个MapReduce计算比率(紧跟前面的那个MapReduce)。

第二个MapReduce中的reducer有会进行两次pass,一次是计算overall_count,一次是计算比率

例4: 排序

MapReduce内部的enginer已经做了很多sorting,这样可以让我们更简单的实现sorting

在每个Map(注意是在一个map里面进行了排序)执行后,这些输入Map的pairs已经在接下来输入给Reduce之前按照key排好序了(在Hadoop中是按照快排进行排序)

Reduce在接收pairs,处理这些pairs之间会对它们进行排序,比如这些pairs如果按照key来排序的话,同一个key的pairs是连续分布的,这样可以把同一个key的pairs输入给一个Reduce来处理

上述的这个例子是要将pairs按照values进行排序后输出.

在Map阶段,将value做为key,这样map阶段结束后输出的pairs在每个Map里面是按照value进行排序(quick sort)的。

在Reducer阶段,在处理前,会将所有的pairs进行排序(Merge sort),然后再对这些pairs进行输出。这样所有的pairs则都是按照value进行排序了

在这儿不能使用Hash partition来分配reducer,因为这儿我们是进行排序,如果使用hash来分配reducer处理的话,那么reducer之间就不是有序的了

在这儿我们分配reducer是按照range来分配的,比如reducer#1处理key1-key1000的pairs,reducer#2处理key10001-key2000的pairs......

在这个例子中我们在分配reducer的时候也要考虑keys的分布情况,比如若key10001-key2000分布的记录很多,则我们可以给这个区域多分配一些reducer来处理

云计算(6)--一些MapReduce的例子的更多相关文章

  1. 第一个MapReduce的例子

    第一个MapReduce的例子 Hadoop Guide的第一个MapReduce的例子是处理气象数据的(数据来源ncdc),终于跑通了.总结一下步骤,安装hadoop不在本文中介绍 1 数据预处理 ...

  2. hadoop mapreduce 简单例子

    本例子统计 用空格分开的单词出现数量(  这个Main.mian 启动方式是hadoop 2.0 的写法.1.0 不一样 ) 目录结构: 使用的 maven : 下面是maven 依赖. <de ...

  3. MongoDB MapReduce 小例子

    var map = function(){ if (this.gscode == "ZTJB"){ ymd = this.ymd; emit("maxymd", ...

  4. 云计算大会有感—MapReduce和UDF

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.參会有感       首先还是非常感谢CSDN能给我票,让我有机会參加这次中国云计算峰会.感觉不写点什么对不 ...

  5. MapReduce入门例子

    计算文档中不同单词的个数. hello you hello me 步骤如下:

  6. 海量数据挖掘MMDS week1: MapReduce

    http://blog.csdn.net/pipisorry/article/details/48443533 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  7. mapreduce (七) 几个实例

    http://hi.baidu.com/hzd2712/item/d2465ae65270ab3e4cdcaf55 MapReduce几个典型的例子 在Google的<MapReduce: Si ...

  8. Hadoop(十三)分析MapReduce程序

    前言 刚才发生了悲伤的一幕,本来这篇博客马上就要写好的,花了我一晚上的时间.但是刚才电脑没有插电源就没有了.很难受!想哭,但是没有办法继续站起来. 前面的一篇博文中介绍了什么是MapReduce,这一 ...

  9. 从分治算法到 Hadoop MapReduce

    从分治算法说起 要说 Hadoop MapReduce 就不得不说分治算法,而分治算法其实说白了,就是四个字 分而治之 .其实就是将一个复杂的问题分解成多组相同或类似的子问题,对这些子问题再分,然后再 ...

随机推荐

  1. win10 linux Ubuntu 18.04更换国内源

    安装了win10的linux bash 版本为ubuntu 18.04 首先查询自己的linux版本信息 cat /etc/issue   然后对系统的镜像源文件进行备份,再修改镜像源文件/etc/a ...

  2. pycharm远程调试或运行代码

    第一步:开始 第二步:设置远程服务器 第三步,查看 第四步,选择解释器,和指定文件映射路径(相对上一步指定的相对路径)

  3. [转帖]Linux下主机间文件传输命令

    Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs   SCP命令: ...

  4. a+b的问题

    题目描述: 给定两个整数 a, b (a, b 均不超过 int 类型的表示范围),求出 a + b 的和. 输入描述: 每行输入两个整数 a 和 b,用空格隔开. 输出描述: a + b 的值. 样 ...

  5. xsy 2412【BZOJ4569】【Scoi2016】萌萌哒

    Description Description 一个长度为n的大数,用S1S2S3...Sn表示,其中Si表示数的第i位,S1是数的最高位,告诉你一些限制条件,每个条件表示为四个数,l1,r1,l2, ...

  6. triples I(按位或运算及3的特性)(2019牛客暑期多校训练营(第四场)D)

    示例1: 输入: 2 3 7 输出: 1 32 3 6 说明:3=3, (3|6)=7 题意:输出尽可能少的数字,他们的按位或结果为输入的数字a. 题解:(表示看不懂题解,看山东大佬的代码看懂的)首先 ...

  7. netty--处理器

    编解码器的基类: 编码:MessageToByteEncode 解码:ByteToMessageDecoder

  8. Spring Cloud 基于Consul 实现配置服务

    Spring Cloud体系中提供了Config组件来进行配置服务管理.而Consul除了提供服务注册与发现功能外,同时也提供配置管理功能.本位将介绍如何结合Spring Cloud + Consul ...

  9. redis设置密码,解决重启后密码丢失及自启服务配置

    一.安装redis redis3.0及redisManage管理工具 链接:https://pan.baidu.com/s/1p5EWeF2Jgsw9xOE1ADMmRg 提取码:thyf 二.red ...

  10. vue-cli3.0 关闭eslint校验

    1. 跟着课程学习vue高级训练营时,vue-cli老是报eslint校验错误,把它关了! 网上找到了图中这个写法,可是报错啊! 解决办法:把false改为true   参考:https://blog ...