- 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源码的入门解析
1????????? Hadoop是什么
Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。下面列举hadoop主要的一些特点:
?
1???????? 扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
2???????? 成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3???????? 高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4???????? 可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
?
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
?
Hadoop还实现了MapReduce分布式计算模型。MapReduce将应用程序的工作分解成很多小的工作小块(small blocks of work)。HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。
如下图所示:
?
Hadoop API被分成(divide into)如下几种主要的包(package)
?
????????? org.apache.hadoop.conf???? 定义了系统参数的配置文件处理API。
????????? org.apache.hadoop.fs????????? 定义了抽象的文件系统API。
????????? org.apache.hadoop.dfs?????? Hadoop分布式文件系统(HDFS)模块的实现。
????????? org.apache.hadoop.io???????? 定义了通用的I/O API,用于针对网络,数据库,文件等数据对象做读写操作。
????????? org.apache.hadoop.ipc?????? 用于网络服务端和客户端的工具,封装了网络异步I/O的基础模块。
????????? org.apache.hadoop.mapred???????? Hadoop分布式计算系统(MapReduce)模块的实现,包括任务的分发调度等。
????????? org.apache.hadoop.metrics??????? 定义了用于性能统计信息的API,主要用于mapred和dfs模块。
????????? org.apache.hadoop.record 定义了针对记录的I/O API类以及一个记录描述语言翻译器,用于简化将记录序列化成语言中性的格式(language-neutral manner)。
????????? org.apache.hadoop.tools??? 定义了一些通用的工具。
????????? org.apache.hadoop.util?????? 定义了一些公用的API。
?
下面逐个从源代码中剖析这几个主要模块的框架以及运作原理
2????????? MapReduce框架结构
Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论文公开发布了。其中对它的定义是,Map/Reduce是一个编程模型(programming model),是一个用于处理和生成大规模数据集(processing and generating large data sets)的相关的实现。用户定义一个map函数来处理一个key/value对以生成一批中间的key/value对,再定义一个reduce函数将所有这些中间的有着相同key的values合并起来。很多现实世界中的任务
您可能关注的文档
最近下载
- 《电商生鲜配送发展中的问题及其对策—以盒马鲜生为例》16000字.docx VIP
- 2024高二地理期末复习选必1知识点清单 .pdf VIP
- 生鲜电商的发展问题及对策—以盒马鲜生为例.pdf VIP
- 生鲜电商的发展问题及对策——以盒马鲜生为例.docx VIP
- 田字格word模板(3)最好.doc VIP
- 2024学年九年级上学期第一次月考数学试题及参考答案 .pdf VIP
- 新零售背景下生鲜企业的发展研究——以盒马鲜生为例.docx VIP
- 连锁零售企业物流配送发展现状、问题及对策研究——以盒马鲜生为例.docx VIP
- 桥架多少钱一米?安装大概多少钱?桥架国标厚度是多少?.docx VIP
- 第八章海洋肽类教材.ppt VIP
文档评论(0)