- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
普开数据大数据应用实例:基于Hadoop的大规模数据排序算法
普开数据大数据应用实例:基于Hadoop的大规模数据排序算法
基于Hadoop的大规模数据排序
目录
一、前言 4
二、 Hadoop及Mapreduce的相关介绍 4
1.Hadoop4
(1)Hadoop简介 4
(2)Hadoop架构 5
(3) 分布式计算模型 5
2.Mapreduce5
(1)mapreduce 和hadoop起源 5
(2)mapreduce工作流程 6
(3) 运行环境 7
(4) 输入与输出 7
(5)Map/Reduce‐ 用户界面 7
三、大规模数据排序 8
1. 简介 8
2.Nutch9
四、算法分析 10
1.Sort算法分析 10
(1) 排序实例 10
(2) 运行排序基准测试 10
(3) 代码分析 10
2.Secondsort算法分析 12
(1) 工作原理 12
(2) 具体步骤 12
(3)SecondarySort.java的部分代码 13
3.Terasort算法分析 15
(1) 概述 15
(2) 算法思想 15
(3)Terasort算法 17
五、参考资料 19
一、前言
我们小组主要对基于[hadoop的大规模数据排序算法、海量数据的生成做了一定的研究。我们首先对
于hadoop做了初步了解,其次,mapreduce是hadoop的很重要的算法,我们在第二阶段对mapreduce以
及一些代码做了分析。第三阶段,我们安装虚拟机和Linux以及hadoop的软件,配置运行环境。第四阶段,
我们对大规模数据排序进行深入的研究,对nutch进行了简单的了解。第五阶段,对一些源代码进行分析,
主要是排序算法中的sort.java,secondsort.java,terasort。下面的正文中将作出具体的介绍。
二、 Hadoop及Mapreduce的相关介绍
1.Hadoop
(1)Hadoop简介
Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情
况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统,简称
HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。而且它提供高传输率来访问应用程
序的数据,适合那些有着超大数据集的应用程序。
(2)Hadoop架构
图表 1hadoop架构
Hadoop 有许多元素构成。其最底部是HDFS,它存储 Hadoop 集群中所有存储节点上的文件。HDFS
的上一层是 MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。
(3) 分布式计算模型
一个hadoop集群往往有几十台甚至成百上千台lowcost的计算机组成,我们运行的每一个任务都要在
这些计算机上做任务的分发,执行中间数据排序以及最后的汇总,期间还包含节点发现,任务的重试,故
障节点替换等等等等的维护以及异常情况处理。
所以说hadoop就是一个计算模型。一个分布式的计算模型。
2.Mapreduce
(1)mapreduce 和hadoop起源
MapReduce借用了函数式编程的概念,是Google发明的一种数据处理模型。因为Google几乎爬了互
联网上的所有网页,要为处理这些网页并为搜索引擎建立索引是一项非常艰巨的任务,必须借助成千上万
台机器同时工作(也就是分布式并行处理),才有可能完成建立索引的任务。
所以,Google发明了MapReduce数据处理模型,而且他们还就此发表了相关论文。
后来,DougCutting老大就根据这篇论文硬生生的复制了一个MapReduce出来,也就是今天的Hadoop。
(2)mapreduce工作流程
MapReduce处理数据过程主要分成2个阶段:map阶段和reduce阶段。先执行map阶段,再执行reduce
阶段。
① 在正式执行map函数前,需要对输入进行“分片”(就是将海量数据分成大概相等的“块”,hadoop的
一个分片默认是64M),以便于多个map同时工作,每一个map任务处理一个“分片”。
② 分片完毕后,多台机器就可以同时进行map工作了。
map函数要做的事情,相当于对数据进行“预处理”,输出所要的“关切”。
map对每条记录的输出以KEY,VALUEpair 的形式输出。
③ 在进入reduce阶段之前,
您可能关注的文档
最近下载
- 物理学史全套课件-物理学史.ppt VIP
- 2025年河北机关事业单位工人技能等级考试(计算机系统调试工·技师)历年参考题库含答案详解(5卷).docx VIP
- 动画制作(三维).动画制作(三维).ppt VIP
- 阿胶糕产品知识课件.pptx VIP
- 电子科技大学博士、硕士学位授权点一览表最终.docx VIP
- 《建设工程施工合同(示范文本)》.doc VIP
- 研究生学术规范与学术诚信(南京大)中国大学MOOC慕课 客观题答案.pdf VIP
- 人民警察警械武器使用规定相关案例选择题试卷.docx VIP
- 班组长安全培训课件.ppt VIP
- 2024年安全工程师《建筑安全实务》资料.pdf VIP
文档评论(0)