如何简单解释 mapreduce常用算法 算法

如何简单解释 MapReduce 算法_百度知道
如何简单解释 MapReduce 算法
提问者采纳
4;.com/zhidao/wh%3D600%2C800/sign=ecd20e7b9beafc4bfb267e/b219ebc4bdc2e1431,25}.//&//&&&nbsp,y) = x +-&gt.baidu, 那么 reduce 的过程就是 &+&nbsp://f;{5;x&//&nbsp,9.range(1,16,4;,&映射为&-&gt.com/zhidao/pic/item/b219ebc4bdc2e1431,25} -&gt,9,比如上面的输出集合是&nbsp,5},2.jpg" esrc="&nbsp.map(x&&nbsp,将一个集合映射为另一个集合; {55};,将集合(一般指map输出的集合)归约:输入集合为 {1;结果,5}
&result&//&=&nbsp.IntStream.baidu.reduce((x;{1;6)&nbsp,那么输出的集合就是 {1,3,2;&nbsp,25}
&nbsp,3;获得结果Sx&&nbsp,16://f,假设我们的归约函数是 f(x.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="x)&y)&nbsp,25} -&gt,16,16;{1;y)&&归约
&&nbsp.getAsInt().println(result);{14.hiphotos,4,9.baidu,比如:int&获得集合&nbsp,25};-&gt,4,16。我们使用 Java8 来描述这个过程;*&nbsp:<a href="http。reduce 就是根据输入的归约函数./zhidao/wh%3D450%2C600/sign=32ef21fcebc4bdc2e1431;{1;&nbsp,&{30,9,25}&nbsp,4,输入的函数为 f(x) = x^2map 根据输入的映射函数://f
来自团队:
其他类似问题
为您推荐:
其他1条回答
 在Hackbright做导师期间,我被要求向技术背景有限的学生解释MapReduce算法,于是我想出了一个有趣的例子,用以阐释它是如何工作的.
  你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃.
  MapReduce方法则是:
  给在座的所有玩家中分配这摞牌
  让每个玩家数自己手中的牌有几张是黑桃,然后把这个数目汇报给你
  你把所有玩家告诉你的数字加起来,得到最后的结论
  谷歌在2004年发表了可以分析大量数据的MapReduce算法.每当你听到“大数据”这个词时,它指的是因为太大而让仅仅一台机器难以有效存储或分析的问题.MapReduce通过把计算量分配给不同的计算机群,能够解决大部分和大数据有关的分析问题.Hadoop提供了最受欢迎的利用MapReduce算法来管...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Hadoop的MapReduce计算的第一个阶段是InputFormat处理的,先将文件进行切分,然后将每个切分传递给每个Map任务来执行,本文阐述切分个数,也就是Map任务数目的计算方法;
Hadoop首先会计算每个切分的大小,然后使用&文件总大小/每个切分的大小&来决定划分的总数,如果不足一个切分的大小,则当做1个;
在org.apache.hadoop.mapred.FileInputFormat中给出了计算每个划分大小的方法:
& protected long computeSplitSize(long goalSize, long minSize,
& & & & & & & & & & & & & & & & & & & &long blockSize) {
& & return Math.max(minSize, Math.min(goalSize, blockSize));
其中几个变量的解释如下:
blockSize:HDFS存储的基本单元,默认为64MB或者128MB;
minSize:由用户设置的最小切分大小,配置项为mapred.min.split.size;
goalSize:计算公式为&文件总大小/用户设定的Map任务个数&,即用户间接期望的大小;
由此可以推断出选定策略:
划分大小为blockSize:blockSize小于用户期望的大小,比用户设定的最小值要大;也就是说如果用户设定的最小值太小的话,会使用block size作为划分大小;
划分大小为goalSize:用户设定了Map的任务数目,那么即使算出来的划分大小比block size小也会使用,这个时候出现了两个用户设定值:最小值和期望值,hadoop会选择两者中大的那个;
划分大小为minSize:如果用户期望的值,还有blocksize只都比用户设定的最小值要小,那么就会使用这个最小值;
针对这几个值,用户可以根据输入数据的情况,合理的设置mapred.min.split.size和map.tasks.size来实现优化,InputSplit和blockSize相同是非常好的一种方法,因为不需要拆分block了.
文章地址:http://www.crazyant.net/1423.html基于MapReduce的图算法 PDF_Linux下载_Linux公社-Linux系统门户网站
你好,游客
基于MapReduce的图算法 PDF
来源:Linux社区&
作者:dannyPolyu
作者系阿里巴巴集团1688技术部普通码农
周末看到一篇不错的文章&Graph Twiddling in a MapReduce world& ,介绍MapReduce下一些图算法的实现。文章语言质朴,介绍很多实用图优化技巧。文章2009年发表,至今已经被引用183次,足以证明这篇文章价值。目前这篇文章网上已经有人对这篇文章做了介绍,但仅介绍了其中最简单的两个算法,对其中的所做优化,并没有做分析。为了加深对文章算法的理解,我重新对这篇文章的算法做了翻译,同时加了自己的理解,以及算法在我们工作可能涉及的应用场景。鉴于&一图胜千言&的想法,我增加大量图片,以及实际例子演化算法流程,以增强对算法的理解。
MapReduce框架非常适合处理大规模的流数据,而图算法的实现一直是MapReduce的难点。已发表这方面的文章也不是特别多。根据&Graph Twiddling in a MapReduce world&,本文详细介绍了 四个图算法的实现,分别是图节点度计算,三元环检测,四元环检测,k-桁结构(k-trusses)检测。
图节点度计算
度是图节点最基本的特征,在中求节点度的方法比较简单。以图1为例,需要求其中各个节点的度。
Hadoop算法实现非常简单,如下图2所演示
MapReduce-1: 分别以边的两个节点作为key,边作为键值输出,reducer阶段统计节点关联的边个数,同时输出边中相应节点的度;MapReduce-2:以MapReduce-1的输出作为输入,reducer阶段合并边上两个节点的度。
三元环检测
三元环检测主要思想是先查找所有开三元环(相当于三个节点形成一条链),然后一条边是否可以将这个开三元环闭合(即是否有一条边可以将链的两个端点闭合)。
这里有两个优化点,可以大大提供算法性能。 首先,为了降低计算复杂度,一个三元环,我们只输出一次。如果对三元环中节点排序(最简单的办法就是节点按字母排序),通过逆序或者旋转三元环的节点输出顺序只有一种(例如ABC,BAC, CBA, ACB& 都可以由ABC逆序或者旋转得到)。由于这个性质,每轮mapper reducer过程,输出时候保证节点是按顺序的。 其次,二次爆炸问题,当某一个节点度比较高的时候,那么通过这个节点边就会很多,进而形成的开三元环也会比较多(例如,节点A的度为N,那么通过节点A边有N条边,这N条边任意两条都可以形成一个开三元环,最终A节点将形成N(N-1)/2 个开三元环,当N很大时候性能会有很大影响)。一个解决办法是,使用度较小的节点为key做合并,这样数据被分散到度比较小的节点上。(结合上面的性质,三元环节点序是只有一种,所以不会出现有些三元环没找到的情况)。这两个优化点能大大提高算法性能。
我们以第一节中的图1为例,具体的hadoop算法流程如下
图见下载中的PDF
检测三元环算法包含两个MapReducer过程:
MapReducer-1
input: 带有度的边
output: 以边中度较小的节点为key,边为键值输出;【降低二次爆炸问题】
process:合并节点的开三元环;
output:输出开三元环,输出时候按三元环两端节点字母排序输出。【保证输出顺序】
MapReducer-2
input:a) 所有带有度的边,按字母顺序输出; b) MapReduce-1中产生的所有开三元环;
output:输出边 和开三元环;
process: 判断是否,一条边能将开三元环闭合;能够闭合则是一个三元环;
output: 输出所有三元环
Apache Hadoop 2.2.0 MapReduce1.x向2.x迁移
MapReduce编程实战
MapReduce--如何设置Reducer的个数
Hadoop之MapReduce自定义二次排序流程实例详解
Hadoop 使用 MapReduce 排序 思路
Hadoop之MapReduce框架心跳机制分析
基于MapReduce的图算法 PDF 下载见 下面的地址:
------------------------------------------分割线------------------------------------------
免费下载地址在
用户名与密码都是
具体下载目录在 /2014年资料/8月/19日/基于MapReduce的图算法 PDF
下载方法见
------------------------------------------分割线------------------------------------------
本文永久更新链接地址:
相关资讯 & & &
& (01月26日)
& (01月10日)
& (01月26日)
& (01月22日)
& (12/18/:10)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款&#xe621; 上传我的文档
&#xe602; 下载
&#xe60c; 收藏
该文档贡献者很忙,什么也没留下。
&#xe602; 下载此文档
正在努力加载中...
一种重叠社区发现算法及其在MapReduce上的实现
下载积分:900
内容提示:一种重叠社区发现算法及其在MapReduce上的实现
文档格式:PDF|
浏览次数:29|
上传日期: 18:43:16|
文档星级:&#xe60b;&#xe612;&#xe612;&#xe612;&#xe612;
该用户还上传了这些文档
一种重叠社区发现算法及其在MapReduce上的实现
官方公共微信

我要回帖

更多关于 mapreduce 聚类算法 的文章

 

随机推荐