论文部分内容阅读
在互联网高速发展的今天,人们开始被信息所淹没,对于提供网络服务的各大互联网公司来说,每天都有大量的信息需要处理,以分析用户的需求以及各种产品的效果等,而且某些数据处理还有实时性的要求,而传统的软件处理方法已经不能满足其对于存储空间和处理时间的要求,在这样的背景下,关于大数据方面的技术出现了,解决了数据处理的空间和时间上的限制。Hadoop是近几年崛起的在大数据领域具有统治力的技术,其编程模型MapReduce,存储模型HDFS,数据仓库Hive等在解决实际问题方面有着自己独特的优势。本文的主要目的是研究如何利用Hadoop来解决实际的问题。本文选取一个分和式数据抓取案例来研究Hadoop生态圈中各个组件的具体应用,案例分为五个基本步骤,即任务生成、URL生成、数据抽取、数据聚合、数据输出,分别由Task Generator, URL Generator, Data Extractor, Data Aggreator, Common Publisher五个模块完成,模块之间按顺序执行并完成数据传递。本文最后通过埘案例的测试结果进行性能分析,证实Hadoop确实优于传统的数据处理系统,并结合实验结果和组件原理分析各个组件的适用范围。在整个案例的实施过程当中,由于各个模块之间存在着依赖关系,并且每个模块存在运行失败的可能,Oozie是大数据领域高性能和容错性很强的一个框架,所以选用Oozie作为调度和监控系统。