标签:
例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来处理
标签:
原文地址:http://www.cnblogs.com/yan2015/p/4868021.html