mapreduce (七) 几个实例
http://hi.baidu.com/hzd2712/item/d2465ae65270ab3e4cdcaf55
MapReduce几个典型的例子
在Google的《MapReduce: Simpli ed Data Processing on Large Clusters》论文中,作者向世界阐述了什么是MapReduce。其中的几个关于MapReduce的例子很简单,但是很有代表性。拿来分享一下。
分布式Grep:map函数检查输入行,如果匹配给定的模板(类似于正则表达式的匹配),就把该行输出。reduce函数是一个标识函数,仅用来把中间数据输出。
URL访问频率统计:map函数处理网页请求的日志文件,并输出<URL, 1>的键值对。reduce函数把相同URL访问次数值相加到一起,输出<URL, 总访问数>的键值对。
逆向Web-Link图:map函数把source网页中每一个链接到target URL的结果输出为<target, source>。reduce函数把所有和给定target相关的source URLs连接起来,并且输出<target, list(source)>。举个例子,搜索引擎中输入关键字,网络爬虫就会根据关键字(target)查找相关的网页并找到所有的链接,这些就是list(source)。
主机关键词向量:关键词向量归纳一个文档或一系列文档中最重要的词出现的频率,为一组<word, frequency>的键值对。map函数输出每一个输入文档中的<主机名,关键词向量>的键值对(这里的主机名是从文档的URL中抽取出的)。reduce处理给定主机的所有文档的关键词向量,累加所有的关键词向量,抛掉不常见的关键词,输出<主机名,关键词向量>的键值对。这个很常见的用处就是视频网站上关键词排行榜,都可以这样实现。
倒序索引:map函数解析每一个文档,输出一个序列<word, document ID>键值对。reduce函数所有相同word的键值对,并根据document IDs排序,输出<word, list(document ID)>。输出的键值对集合形成了一个简单的倒序索引。这样可以很容易跟踪关键字在文档库中的位置。
分布式排序:map函数从每一个记录中抽取出key,并输出<key, record>的键值对。reduce函数原样输出所有的键值对。这个计算依赖于MapReduce中的分割函数(Partitioning Function)。
mapreduce (七) 几个实例的更多相关文章
- MapReduce多种join实现实例分析(二)
上一篇<MapReduce多种join实现实例分析(一)>,大家可以点击回顾该篇文章.本文是MapReduce系列第二篇. 一.在Map端进行连接使用场景:一张表十分小.一张表很大.用法: ...
- hadoop中MapReduce多种join实现实例分析
转载自:http://zengzhaozheng.blog.51cto.com/8219051/1392961 1.在Reudce端进行连接. 在Reudce端进行连接是MapReduce框架进行表之 ...
- 【甘道夫】官方网站MapReduce代码注释具体实例
引言 1.本文不描写叙述MapReduce入门知识,这类知识网上非常多.请自行查阅 2.本文的实例代码来自官网 http://hadoop.apache.org/docs/current/hadoop ...
- MapReduce三种join实例分析
本文引自吴超博客 实现原理 1.在Reudce端进行连接. 在Reudce端进行连接是MapReduce框架进行表之间join操作最为常见的模式,其具体的实现原理如下: Map端的主要工作:为来自不同 ...
- MapReduce多种join实现实例分析(一)
一.概述 对于RDBMS中的join操作大伙一定非常熟悉,写sql的时候要十分注意细节,稍有差池就会耗时巨久造成很大的性能瓶颈,而在Hadoop中使用MapReduce框架进行join的操作时同 ...
- <automate the boring stuff with python>---第七章 正则实例&正则贪心&匹配电话号码和邮箱
第七章先通过字符串查找电话号码,比较了是否使用正则表达式程序的差异,明显正则写法更为简洁.易扩展.模式:3 个数字,一个短横线,3个数字,一个短横线,再是4 个数字.例如:415-555-4242 i ...
- 一文读懂MapReduce 附流量解析实例
1.MapReduce是什么 Hadoop MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式 ...
- MapReduce使用JobControl管理实例
import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.fs.Path; impo ...
- Vue.js-07:第七章 - Vue 实例的生命周期
一.前言 在之前的 Vue 学习中,我们在使用 Vue 时,都会创建一个 Vue 的实例,而每个 Vue 实例在被创建时都要经过一系列的初始化过程.例如,需要设置数据监听.编译模板.将实例挂载到 D ...
随机推荐
- JDK6 下载地址
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-41940 ...
- JAVA Web学习篇--Servlet
Servlet由来 做过BS项目的人都知道,浏览器可以依据HTML静态标记语言来显示各式各样的网页.可是假设我们须要在网页上完毕一些业务逻辑:比方登陆验证.或者说网页显示的内容在server的数据库中 ...
- highgui.h备查 分类: C/C++ OpenCV 2014-11-08 18:11 292人阅读 评论(0) 收藏
/*M/////////////////////////////////////////////////////////////////////////////////////// // // IMP ...
- hdu 3729 I'm Telling the Truth 二分图匹配
裸的二分图匹配.需要输出方案. #include<cstdio> #include<cstring> #include<vector> #include<al ...
- [Javascript] Array - join()
The join() method joins all elements of an array into a string. var name = 'shane osbourne'; var upp ...
- 【ES6】Set和Map中的NaN
在JavaScript中,有个有意思的的式子:NaN !== NaN.在Set中的元素的重复检查或者Map键的定位过程中,都是用的类似恒等的检查逻辑.该逻辑和恒等检查的主要区别就是:NaN等于自身.
- 用Javascript进行HTML转义(分享)
众所周知页面上的字符内容通常都需要进行HTML转义才能正确显示,尤其对于Input,Textarea提交的内容,更是要进行转义以防止javascript注入攻击. 通常的HTML转义主要是针对 ...
- SQL Server 2012 LocalDB 管理之旅
SQL Server LocalDB能够最大限度地节省您的数据库管理精力,以便开发人员可以专注于开发数据库应用. 使用SqlLocalDB命令行管理LocalDB 为了方便管理,LocalDB提供了一 ...
- C# 数字证书微信API调用使用参考事例
X.509 v.3 证书的方法.一个比较完整的调用 微信 API的示例: private stringGetResponseResult() { string strRespons ...
- ASP+MYSQL的配置及乱码解决
TempStr = "driver={MySQL ODBC 3.51 Driver};database="&strDB&";server="&a ...