论文部分内容阅读
由于移动设备和互联网网络的快速发展,互联网上产生的信息呈指数级的增长。处理海量数据的两个关键问题就是海量数据的存储和计算问题,传统的文本处理系统在这两个方面都不能满足海量网络文本分析的需求。如何高效的实时获取网络信息,实现海量文本数据的存储和计算是目前学术界和工业界共同关注的问题,因此对一问题的研究具有重要的意义。面对海量数据的存储与计算问题,云计算和大数据处理技术从概念的提出到投入应用,为网络文本分析提供了新的方向。一些开源框架不断出现,目前最流行的就是Hadoop平台,底层采用HDFS分布式文件系统以实现海量数据的存储,使用MapReduce编程框架实现对大数据的并行计算,以及采用列数据库HBase实现对结构化数据的存储。在这一平台下,开发人员无需过多关注分布式存储和计算的实现细节,从而让用户把更多的精力用在核心业务的实现上。本文围绕着基于Hadoop平台下的网络文本处理展开,研究的内容包括网络文本的获取、分布式检索功能构建以及文本聚类分析,本文的具体工作包括以下几个方面:第一,本文提出基于Hadoop的获取网络数据实现方案,该系统由四个模块组成,它们的功能分别是,爬取网页数据、分析网页数据里的URL、对URL去重,以及抽取网页数据里的有用信息。本文给出了系统详细实现方法,包括各个功能模块的逻辑流程图、每个模块使用的数据存储结构。最后,本文实验的运行结果表明,基于Hadoop平台下的网络数据获取方法比单机系统从效率上有很大的提高。第二,本文提出了基于Hadoop分布式检索功能构建,为了使Lucene能很好的运行于Hadoop平台下,本文首先对Lucene存储功能进行了扩展,使Lucene能支持对HDFS文件系统的读写。其次,基于MapReduce框架建立索引的功能由二个模块组成,一个完成了中文分词并行化的实现,另一个完成了倒排索引并行化的实现。最后,该系统经过测试,能在Mapduce框架下并行的建立索引,并且以标准尺寸的数据块形式存放在HDFS里。第三,实现了基于Hadoop的文本聚类算法。本文给出了K-Means算法的并行化详细实现步骤,包括功能模块的逻辑流程图、每个模块使用的数据存储结构。并给出了具体的仿真实验,实验的运行结果表明基于Hadoop的K-Means聚类算法能高效地处理海量文本,比单机系统从性能上有很大的提高。