文 献 综 述
本文的材料主要来源于有关国内外的文献资料、学术论文和相关的评论文
Hadoop作为Apache基金会资助的开源项目,由Doug Cutting带领的团队进行开发,基于Lucene和Nutch等开源项目,实现了Google的GFS和Hadoop能够稳定运行在20个节点的集群;2006年1月,Doug Cutting加入雅虎公司,同年2月Apache Hadoop项目正式支持HDFS和MapReduce的独立开发。与此同时,新兴公司Cloudera为Hadoop提供了商业支持,帮助企业实现标准化安装,并志愿贡献社区。目前Apache hadoop发展到hadoop3.0.0-alpha2版本(2017-01-25更新)。
我们生活在数据的时代,很难估计全球的数据有多少,有很多数据,目前有很多问题,比如数据处理速度不够,以100mb每秒计算,读取1tb的数据需要2个半小时。一个比较好的方案就是把数据放在100个磁盘中每个磁盘中存放1%的数据并行读取,不到2min就能读取所有数据。HDFS就是实现了数据分成各种block放到不同的机器,但是一旦硬件发生故障,用户的数据就会丢失,HDFS加入了数据备份模块,使的每份block都在底层的磁盘上做了三份备份,并且备份到的不同的机器上,防止了机器的单点故障而丢失数据。这种HDFS的高容错性和hadoop是基于java语言开发的,使hadoop可以部署在低廉的的计算阿基集群中,同时不限于某一种操作系统Hadoop中HDFS的数据管理能力,MapReduce处理任务时的高效率,以及它的开源特性,使其在同类的分布式系统中大放异彩,并在众多行业和科研领域中被广泛采用。
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。MapReduce通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性;每个节点会周期性的返回它所完成的工作和最新的状态。如果一个节点保持沉默超过一个预设的时间间隔,主节点(类同Google File System中的主服务器)记录下这个节点状态为死亡,并把分配给这个节点的数据发到别的节点。每个操作使用命名文件的原子操作以确保不会发生并行线程间的冲突;当文件被改名的时候,系统可能会把他们复制到任务名以外的另一个名字上去。(避免副作用)。化简操作工作方式与之类似,但是由于化简操作的可并行性相对较差,主节点会尽量把化简操作只分配在一个节点上,或者离需要操作的数据尽可能近的节点上;这个特性可以满足Google的需求,因为他们有足够的带宽,他们的内部网络没有那么多的机器。
《Hadoop基础教程》包括三个主要部分:第1~5章讲述了Hadoop的核心机制及Hadoop的工作模式;第6~7章涵盖了Hadoop更多可操作的内容;第8~11章介绍了Hadoop与其他产品和技术的组合使用。《Hadoop基础教程》目的在于帮助读者了解什么是Hadoop,Hadoop是如何工作的,以及如何使用Hadoop从数据中提取有价值的信息,并用它解决大数据问题。本次毕业设计技术指导书。
《hadoop权威指南》的是作者Tom White从2007年以来,一直担任Apache Hadoop项目负责人。他是Apache软件基金会的成员之一,同时也是Cloudera的一名工程师。Tom为oreully.com、java.net和IBM的developerWorks写过大量文章,并经常在很多行业大会上发表演讲。是一本权威的书,是本次本业设计的技术指导和理论指导书籍。
《hadoop技术详解》详细介绍Hadoop的各项操作,从最初的设计,到安装、设置,以帮助读者提供稳定持续的系统表现。通过学习Hadoop工作原理以提高NapReduce工作效率的本书作者Eric Sammer目前是Cloudera公司的首席方案架构师,协助客户规划、配置、开发和使用Hadoop以及相关的大型项目。他在开发和运营分布式的、高并发的数据摄取和处理系统方面很有经验。在过去十年里,他参加了开源社区并且为许多项目做出了贡献。
《hadoop实战(第二版)》满足本次毕业设计的hadoop技术及其相关技术(hive、hbase等)的需求,毕业设计的关于hadoop工具书和参考书。hadoop整个技术体系进行了全面的讲解,不仅包括hdfs、mapreduce、yarn等核心内容,而且还包括hive、hbase、mahout、pig、zookeeper、avro、chukwa等与hadoop技术相关的重要内容。实战性强,不仅为各个知识点精心设计了大量经典的小案例,而且还包括yahoo!等多个大公司的企业级案例,可操作书中全面讲解了hadoop的i/o操作,对yarn进行了介绍,对hdfs进行了详细讲解和分析,细致讲解hadoop的管理,对hadoop大生态系统中的hive、hbase、mahout、pig、zookeeper、avro、chukwa等技术进行了详细的描述,介绍hadoop的各种常用插件,以及hadoop插件的开发方法,并且加入hadoop在yahoo!、ebay、百度、facebook等企业中的应用案例。
《推荐系统实践》是解决随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统就是解决这一矛盾的重要工具。推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢问题的一本非常经典的书,书中关于ItemCF为本毕业设计提供了算法支持。
参考文献:
[1]Hadoop基础教程,人民邮电出版社,Garry Turkington著
[2]Hadoop权威指南,清华大学出版社,Tom Wbite著
[3]Hadoop技术详解,人民邮电出版社,Eric Sammer 著
[4]Hadoop实战(第2版),机械工业出版社,陆嘉恒 著
[5]推荐系统实践,人民邮电出版社,项链 著
[6]杜定宇. 基于特征向量的个性化推荐算法研究[D].重启:重庆大学,2011年
[7]彭德巍,胡斌. 一种基于用户的特征和时间的协同过滤算法[J]. 武汉理工大学学报,2009,31(3):24-28
[8]黄正. 协同过滤推荐算法综述[J].价值工程,2012,21;226-228
[9]周强. 基于用户的协同过滤过滤推荐算法研究[J].南昌高专学报,2006.3:88-89
[10]刘建国,周涛,王秉宏。个性化推荐系统的研究进展[J]. 统计与决策,2008,21:34-45
[11]赵宏霞,王新海. 基于混合推荐技术的推荐模型[J]. 计算机工程,2010,26(22):248-251
[12]孙小华. 协同过滤系统的稀疏性和冷启动问题研究[D]. 浙江:浙江大学.2005.
[13]张光卫,李德毅.基于云模型的协同过滤推荐算法[J].软件学报,2007,18(10):240-245.
[14]龚松杰.个性化推荐中一种新的相似性计算方法[J].计算机系统应用,2008,17(7):5-9
[15]陈登科,孔繁胜. 基于高斯pLSA模型与项目的协同过滤混合推荐[J]. 软件导刊.2011,10(3):146-148
|