- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(word)外文翻译中文
对于Hadoop处理小文件的性能优化Neethu Mohandas 和Sabu M. Thampi印度科钦Rajagiri工程与技术学院摘要Hadoop是由Dong Cutting提出的,一个顶级的Apache项目。用于支持千级别的庞大数据的分布式应用。它是一个开源的软件框架,灵感来自于谷歌的MapReduce编程模型和谷歌的系统文件。它是由全球社区的开发者用java共同研发的。Hadoop被广泛地应用与世界各地的各种学术科研机构和商业组织,还包括了common hadoop,hadoop文件系统(HDFS)和MapReduce作为其子项目。common hadoop包含了支持其他子项目的通用工具。HDFS是一个高性能的分布式文件系统,Hadoop给予了HDFS高度的访问程序数据的性能。它还通过数据复制提高了可靠性,并同时保持数据的完整性。MapReduce的是基于MapReduce算法的一个能在集群上进行大量的分布式数据计算的软件框架。虽然Hadoop被广泛的使用,但是由于种种问题,它的潜力还没有被充分发挥出来,小文件的问题就是其中之一。在hadoop的0.18.0版本开始,hadoop归档被作为处理小文件的解决方案被引入hadoop。文件序列化也可以作为一种解决方案。这两种解决方案各自有自己的优点和缺点。我们提出的与建议预计将获得两个解决方案的优点,同时确保hadoop有一个更好的性能。关键词:hadoop,hadoop分布式文件系统(HDFS),MapReduce,小文件问题,hadoop归档,文件序列化1绪论在分布式计算的时代,hadoop飞速发展起来,它在涉及TB和PB级别的计算处理中,表现出极佳的性能和高效的处理能力。这些成就可能源于一个名为MapReduce的底层软件架构和一个名为HDFS的分布式文件系统。MapReduce正像它的名字表现的,是一个基于Map和Reduce两步的支持大量计算的软件框架。Map和Reduce两个步骤的概念都源于函数是编程语言。在2004年的OSDI中,谷歌提交了一份关于MapReduce的文件,标志着这项工程的动工。Hadoop是基于java的MapReduce实现,它的基本概念即为将一个巨大的难以管理的计算分成更小的可管理的块。HDFS,从另一方面来说,是受了谷歌文件系统的启发。它依靠它的可靠的数据存储,数据的高完整性,以及最重要的高吞吐量,来支持hadoop高性能的大型计算。因此,Hadoop广泛地受到了网络,搜索,金融,科研机构等市场的青睐。2研究背景2.1MapReduce程序员们从这个框架中受益良多,因为他们可以避免考虑应用程序复杂的分布式运算所带来的头痛。这是因为分布式运算可能需要将输入分片,分配给集群中一组计算节点,管理系统的故障,节点间的通信都需要实时考虑。程序员可以方便地运用分布式框架进行分布式编程, 即使他们没有多少分布式计算经验,而hadoop就是其中最受程序选喜爱的一个分布式编程框架。基本的编程模型可以描述为一个Map任务和一个Reduce任务的组合。要执行计算,就需要提供的一组键值对作为最初的输入。然后计算完成后,最终产生一组键值对作为输出。在具有MapReduce库的情况下,计算可以被看做是两个函数,Map和Reduce。Map和Reduce函数都会被用户重写。Map函数将接受一组键值对作输入,并且将一组键值对作为中间输出。然后,MapReduce库根据键的唯一性将这些值组合起来,然后将它传递给Reduce函数。如果键值对的列表过大,为了适应内存的容量,可能会进行迭代操作。更新这些从属于一个特有键的值的集合使它们变为一个更小的值的集合是Reduce函数的任务。如果用户希望得到一个更小的输出值的集合,他/她通过将这个输出作为下一个输入,避免人工地将这个输出作为另一个MapReduce的输入,从而完成一嵌套的MapReduce调用。举个简单的例子,我们可以算一组URL的访问频率,如果我们给网页请求的日志作为输入到MapReduce计算。该Map函数产生URL; 1。Reduce函数总结的值 相同的URL,并生成一个URL;总计数对,从而计算出该URL访问频率。在图1中,我们可以看到Map和Reduce任务被master节点分配道不同的节点,而且将输入划分给不同的节点来分配不同的Map作业,从而产生各自的中间值。master节点将被每个节点告知中间值产生的位置。在获取这些信息的时候,master节点将它传递给指定的节点与reduce任务终于完成了合并工作,产生输出 文件。图1:MapReduce执行概要2.2Hadoop分布式文件系统hadoop分布式文件系统是被hadoop使用的文件系统。它与UNIX的文件系统非常类似,并且被开发来支持的Hadoop在数据密
文档评论(0)