例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. tomcat 启动闪退解决方法

    当我们在windows上面进行项目的部署与启动的时候有的时候tomcat在进行启动的时候会删一下就退了,这个时候一般是里面启动的时候设置的jdk的问题下面咱们来看一下具体解决方案 编辑我们的start ...

  2. Net Core 3 Mvc AliPay Demo

    AliPay - PC 钻研了几天的Webpack, 这几天回归了我的本行.Net, 跟随大佬的脚步, 开始做上了支付宝的支付. 创建项目 首先创建一基于.Net Core3.0的MVC项目, 然后引 ...

  3. e.g. i.e. etc. et al. w.r.t. i.i.d.英文论文中的缩写语

    e.g. i.e. etc. et al. w.r.t. i.i.d. 用法:, e.g., || , i.e., || , etc. || et al., || w.r.t. || i.i.d. e ...

  4. Python09之range函数(BIF内置函数)

    具体语法: range(起始值,结束值,步进值) range() 其属于内置函数,不需要导入其他模块即可使用,直接在Python的IDLE直接可以使用. list(range(0,10)) [0, 1 ...

  5. 剑指offer33:求按从小到大的顺序的第N个丑数。

    1 题目描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 2 ...

  6. Python re模块学习

    这是re模块与正则的结合 re模块提供的函数 1.match  尝试在字符串的开头应用该模式,返回匹配对象,如果没有找到匹配,则为None. import re str1 = "Why ar ...

  7. Django使用指南

    一.安装Django 1.命令行安装 pip3 install django(默认安装最新稳定版本) pip3 install django==版本号(指定版本安装) 2.Pycharm安装 在Pyc ...

  8. nodejs的安装与npm的介绍

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详细介绍了No ...

  9. golang日志库之glog使用问题总结

    1. 日志默认输出路径为临时路径,可通过执行命令时带上 -log_dir="路径",指定输出,但路径必须已存在,源码如下,日志文件会生成两个 .INFO等后缀是符号链接文件,另一个 ...

  10. jquery封装的方法

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...