博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记--MapReduce 适用场景 及 常见应用
阅读量:6160 次
发布时间:2019-06-21

本文共 563 字,大约阅读时间需要 1 分钟。

原文: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技术内幕》

你可能感兴趣的文章
给PowerShell脚本传递参数
查看>>
实战2——Hadoop的日志分析
查看>>
利用FIFO进行文件拷贝一例
查看>>
Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
查看>>
resmgr:cpu quantum等待事件
查看>>
一个屌丝程序猿的人生(六十六)
查看>>
Java 编码 UTF-8
查看>>
SpringMVC实战(注解)
查看>>
关于静态属性和静态函数
查看>>
进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端
查看>>
spring+jotm+ibatis+mysql实现JTA分布式事务
查看>>
MyBatis启动:MapperStatement创建
查看>>
调查问卷相关
查看>>
eclipse启动无响应,老是加载不了revert resources,或停留在Loading workbench状态
查看>>
1. Git-2.12.0-64-bit .exe下载
查看>>
怎样关闭“粘滞键”?
查看>>
[转]React 教程
查看>>
拓扑排序介绍
查看>>
eclipse打开工作空间(workspace)没有任务反应
查看>>
使用Sybmol模块来构建神经网络
查看>>