读书笔记--MapReduce 适用场景 及 常见应用

原文:http://blog.csdn.net/smile0198/article/details/20578389

1、MR解决的问题的特点

 

MR是应大数据的背景产生,其解决的问题的共性为:大问题可以被分解为许多子问题,且这些子问题相对独立,将这些子问题并行处理完后,大问题也就被解决。是用来分治、分解的思想。

2、Google论文中提及的典型应用:

 

URL访问率统计,分布式grep,分布式排序,倒序索引构建,Web连接图反转等。

3、从书中看到的几个比较复杂的应用:

 

(1)、TopK问题

问题:在搜索引擎中,查出最近最热门的K个查询词。

解决:将问题分解为两个MR,统计词频(相当于wordcount)和找出词频最高的前K个查询词,第二个输入依赖于第一个输出。在第二部分,每个map找出自己的TopK,然后再reduce阶段进行合并,找出最终的TopK。

(2)、K-means 聚类 (k均值)

(3)、贝叶斯分类

后两个问题,我还没有搞清楚怎么实现,等我研究明白了,在po出来

4、MR难以解决的问题

 

(1)、斐波那契数列,由于算法是递归实现的,下一个结果依赖于前面的结果,无法分解为独立的子问题,所以不能mr

(2)、层次类聚

通过不断的迭代,按距离来合并,要计算两两对象间的距离。

参考《hadoop技术内幕》

原文地址:https://www.cnblogs.com/zhizhan/p/4957473.html