大数据关键技术文档.docx
《大数据关键技术文档.docx》由会员分享,可在线阅读,更多相关《大数据关键技术文档.docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 绪论 随着计算机技术、通信网、互联网迅速发展和日益普及,Internet上信息量迅速增长。从海量信息块中迅速检索出顾客真正需要信息正变得很困难,信息搜索应向着具备分布式解决能力方向发展,本系统运用hadoop分布式开源框架良好扩充能力、较低运作成本、较高效率和稳定性来满足需求。现状: 缺陷和局限性:(1)成果主题有关度不高。(2)搜素速度慢。引入hadoop+nutch+solr长处:(1)hadoop平台数据解决高效。hadoop集群解决数据比起单机节约数倍时间,数据量越大优势越明显,满足信息采集对数据解决速度和质量规定。(2)hadoop平台具备高扩展性。可以恰当扩展集群数量来满足
2、日益不断增长数据量,而这并不会毁坏原集群特性。(3)安全可靠性高。集群数据冗余机制使得hadoop能从单点失效中恢复,即Hadoop能自动进行数据多次备份,以保证数据不丢失,虽然当某个服务器发生故障时,它也能重新布置计算任务。(4) Nutch不但提供抓取网页功能,还提供理解析网页、建立链接数据库、对网页进行评分、建立solr索引等丰富功能。(5)通过Nutch插件机制实现了系统可扩展性、灵活性和可维护性,提高了开发效率。可以依照顾客需求进行灵活定制抓取和解析,提高了系统使用性。(6)通过solr集群,采用分布式索引在不同机器上并行执行,实现检索服务器之间信息互换。可以通过设定主题进行索引检索
3、。研究目的和内容本文研究目的是全面进一步分析研究分布式搜索引擎,进而优化分布式搜索引擎中索引构建方略,内容涉及:(1)进一步研究hadoop分布式平台,仔细剖析hadoop中分布式文献系统HDFS和map/Reduce编程模型。(2)进一步研究Nutch架构 、有关技术与体系构造,着重研究分析Nutch插件系统内部构造和流程;对protocol-httpclient插件进行开发支持表单登录;对 url过滤、信息解析插件进行开发,提高搜索主题有关度;(实现用mapreducegoogle排序算法,改进系统搜索关联度)。系统功能构造(1)本地资源解析模块对本地文本pdf,word,excel内容解
4、析和索引,按照主题分类,添加到相应主题中进行搜素。(2)搜索模块顾客依照不同主题进行内容索引、核心词查询,将跟查询关联度最高前n个文档返回给顾客,并记录出在这些查询成果中浮现频率最高前n个词。顾客可依照需求修改配备文献,提高搜索有关度。(3)信息爬取模块 信息定制采集模块1、种子URL:用作抓取器爬取出发点,也叫做根URL。2、核心字:核心字选取很重要,描述了抓取任务所属分类主题方向。3、深度:由于Nutch抓取模块采用是广度优先方略,抓取深度选取决定了抓取时间长度和抓取网页数量大小。普通依照所选用种子URL类型和详细限度以及对网页抓取规模需求来进行设立。 在信息定制模块顾客设立主题信息,ur
5、l信息、抓取深度信息,抓取线程依照定制信息,开始抓取工作。(综合型搜索引擎;某一主题类网站,垂直搜索引擎;博客搜索引擎) 信息解析过滤模块依照fiddle进行登录分析,修改网络合同插件,支持简朴一次跳转表单登录,顾客可以在配备文献中进行设立,然后抓取内容;复杂登陆需要分析登陆过程,写出相相应网络合同插件。由于本系统在网络资源采集过程中支持个性化定制,只对目的站点感兴趣内容进行采集,分析目的站点构造特点,在页面采集完毕后,从中提取出链接、元数据、正文、标题、核心字、描述等信息,进行后续过滤和其她解决。链接提取一方面要判断页面类型,页面类型可以有应答头分析得出,依照不同类型选取相应爬取和解析插件,
6、对遇到带有链接标记如、等,就从标记构造属性中找出 目的url,并从成对该标记之间抽取出正文作为该链接阐明文字,链接文字普通能反映文章主题信息,系统设定阈值,判断主题和阐明性文字有关性,对爬取链接进行过滤,加入到爬取链接列表中。定制采集子模块,依照正则表达式对网页内容进行过滤,获取和解决跟主题有关内容,过滤无关信息内容;对网页编码格式进行提取,实现内容编码转换。(下一步改进主题有关度链接过滤算法)(4)系统管理模块顾客对依照需求对系统配备参数进行修改。论文组织构造 1、绪论。本章一方面简介了本文研究背景及意义,接着研究了信息采集与搜索技术国内外发呈现状,最后给出了本文研究内容和论文组织构造。2、
7、核心技术。Hadoop、Nutch、Solr技术架构及文本检索算法本章简介了开源软件Hadoop、Nutch、Solr基本状况;详细简介了Hadoop框架及其进行分布式计算编程模型MapReduce和数据存储系统HDFS;Nutch以Hadoop分布式文献系统HDFS作为底层数据平台,采用MapReduce编程方式实现数据分布式解决,以扩展机制为突出特性,顾客可以依照实际需求对其添加插件进行扩展改进,构建自己信息采集搜索系统;通过Solr集群,采用分布式索引在不同机器上并行执行,实现检索服务器之间信息互换,减小索引对机器规定,同步简介了惯用文本检索算法VSM ,pagerank和lucene默
8、认排序算法。3、系统环境配备。Hadoop+Nutch+Solr系统运营环境配备与运营。本章简介配备Hadoop+Nutch+solr系统运营环境并详细阐述其运营流程。4、基于Hadoop+Nutch+Solr信息采集搜索系统设计与实现。本课题采用hadoop+Nutch+Solr开源软件,缩短了开发时间并且可以依照个性化需要采集数据提高搜素成果精度,基于mapreduce实现了pagerank算法,将pagerank作为一种独立索引项添加到nutch默认lucene排序算法中,顾客可以依照需求自己定义排序规则,提高检索有关度。(基于hadoopnutch网页排序算法研究与实现)系统有关技术简
9、介Hadoop hadoop由 Apache公司于 年秋天作为Lucene子项目Nutch一某些正式引入。Hadoop被定位为一种易于使用平台,以HDFS、MapReduce为基本,可以运营上千台PCServer构成系统集群,并以一种可靠、容错方式分布式解决祈求。本文基于Hadoop+Nutch+Solr开发信息采集搜索项目,现对Hadoop进行全面分析和进一步研究。Hadoop框架简介Hadoop是执行大数据分布式应用开源框架,凭借高效,可靠,可扩展等特性受到广泛应用,它有两大最核心模块:进行分布式计算MapReduce与底层存储系统HDFS(Hadoop Distributed FileS
10、ystem分布式文献系统)。MapReduce中任务分解(Map)与成果汇总(Reduce)是其重要思想。Map就是将一种任务分解成各种任务,Reduce就是将分解后多任务分别解决,并将成果汇总为最后成果。Hadoop整体由九个子项目构成,其中MapReduce和HDFS两大核心将在后文展开详细简介。框架如下图所示,项目功能如下表所示.图 Hadoop框架图子项目功能Hadoop CommonHadoop系统核心,提供子项目基本支持HDFS实现高吞吐分布式存储MapReduce执行分布式并行计算HBase一种可扩展分布式数据库系统Pig为并行计算提供数据流语言和执行框架Hive提供类SQL语法
11、进行数据查询数据仓库ZooKeeper提供分布式锁等Mahout一种大规模机器学习和数据挖掘库ArvoHadoopRPC(远程过程调用)方案表Hadoop子项目功能简介MapReduce编程模型MapReduce是一种编程模型,该模型将数据扩展到各种数据节点上进行解决,它最早是Google提出一种软件架构,用于大规模数据集(不不大于1TB)并行运算。并行编程模式最大长处是容易扩展到各种计算节点上解决数据。开发者可以很容易就编写出分布式并行程序。mapreduce重要思想是将自动分割要执行问题(例如程序)拆解成map(映射)和reduce(化简)方式;一种MapReduce作业(job)一方面会
12、把输入数据集分割为各种独立数据块,再以键值对形式输给Map函数并行解决。Map函数接受一种输入键值对值,产生一种中间键值对集合,由MapReduce保存并集合所有具备相似中间key值中间value值传递给Reduce函数, reduce对这些value值进行合并,形成一种value值集合,最后形成输出数据。 解决流程如下图:MapReduce解决流程Hadoop分布式文献系统(HDFS)Hadoop分布式文献系统(HDFS)是Google GFS存储系统开源实现,HDFS具备高容错性和高传播率,特别适合具备大数据集程序应用。HDFS采用master/slave架构。一种HDFS集群包括一种单独
13、名字节点(Namenode)和一定数目数据节点(Datanode)构成一种HDFS集群。HDFS被设计成一种可以在大集群中、跨机器、可靠存储海量数据框架。它将所有文献存储成block块构成序列,除了最后一种block块,所有block块大小都是同样,她们存储在一组Datanode中,文献所有block块都会由于容错而被复制,每个文献block块大小和容错复制份数都是可配备,她们在Namenode统一调度小进行数据块创立、删除和复制工作。下图所示为HDFS体系架构 图 HDFS体系构造图Namenode和Datanode都可以在普通计算机上运营。Namenode作为master服务,它负责管理文
14、献系统命名空间和客户端对文献访问。NameNode会保存文献系统详细信息,涉及文献信息、文献被分割成详细block块信息、以及每一种block块归属Datanode信息,对于整个集群来说,HDFS通过Namenode对顾客提供了一种单一命名空间;Datanode作为slave服务,在集群中可以存在各种,普通每一种Datanode都相应于一种物理节点,Datanode负责管理节点上它们拥有存储,它将存储划分为各种block块,管理block块信息,同步周期性将其所有block块信息发送给Namenode。从上面简介可以看出,在搭建好Hadoop集群上,大数据集一方面会由HDFS安全稳定地分布存储
15、到集群内多台机器上,再运用MapReduce模型将该数据集分解为较小块(普通为64MB)进行解决,特点是高效、安全、具备高吞吐量。Hadoop顾客可以在不理解分布式底层细节状况下较好地运用该分布式平台开发分布式程序,进行高效数据存储和运算。因而Hadoop成为管理大量数据核心技术,在信息采集和搜索领域使用范畴越来越广。hadoop具备如下突出长处:(1)hadoop平台数据解决简朴高效。hadoop运营在由普通PC机组建大型集群上,顾客可以在平台上迅速编写并行代码运营分布式应用,避免耗时数据传播问题;集群解决数据比起单机节约数倍时间,数据量越大优势越明显,满足信息采集对数据解决速度和质量规定。
16、(2)hadoop平台具备高扩展性。可以恰当扩展集群数量来满足日益不断增长数据量,而这并不会毁坏原集群特性。(3)安全可靠性高。集群数据冗余机制使得hadoop能从单点失效中恢复,即Hadoop能自动进行数据多次备份,以保证数据不丢失,虽然当某个服务器发生故障时,它也能重新布置计算任务。Nutch Nutch 是 Apache 基金会一种开源项目,它原本是开源文献索引框架 Lucene 项目一种子项目,日后徐徐发展成长为一种独立开源项目。它基于 Java 开发,基于 Lucene 框架,提供 Web 网页爬虫功能。从 nutch0.8.0开始,Nutch 完全构建在 Hadoop 分布式计算平
17、台之上,因而基于 Hadoop Nutch 信息采集系统可以布置在由成千上万计算机构成大型集群上,Nutch 也分为2某些,信息爬取和检索,但nutch1.2版本之后,Nutch专注只是爬取数据,而全文检索某些彻底交给solr。nutch抓取流程中,抓取器也叫蜘蛛或者机器人,以广度优先搜索(BFS)方式从公司内部网或者互联网抓取网页,爬取过程涉及了爬虫模块和解析模块。爬虫程序将网页页面抓回判断格式解析数据,形成页面内容数据库。种子url nutch采集过程要预先给定初始种子url,而种子url选取将直接影响主题搜索质量,因而选用初始种子url原则是种子页面自身要具备较高主题有关性。初始种子ur
18、l既可以是一种网站首页,也可以是网站子页面,核心是要尽量覆盖主题资源,最后实现抓取目的最大化,重要有四种办法生成初始种子url:(1)人工指定: 给出某个领域权威专家给出有关种子页面。(2)自动生成:依照顾客指定某些核心词,并将这些核心词提交给通用搜索引擎,从检索成果中抽取前N个页面作为种子页面。(3)混合模式:即人工指定与自动生成相结合,一方面运用通用搜索引擎获得某些有关页面,然后通过人工筛选、过滤、合并、评价,形成一种能充分反映主题特性种子页面。(4)增长爬虫学习能力:通过建立各个领域主题种子库,并对检索历史、顾客反馈信息进行分析基本上,动态优化产生相应主题种子页面集。种子选用在实际操作中
19、应当依照需求及领域特性选取恰当办法。Nutch插件机制Nutch此外很吸引人一点在于,它提供了一种插件框架,使得其对各种网页内容解析、各种数据采集、查询、集群、过滤等功能可以以便进行扩展,插件扩展只需通过给定接口实现,每个接口之下实现互相独立,顾客可以专注于目的接口扩展而不必紧张该接口与其她接口交互Nutch 插件体系构造。nutch使用plugin系统有三个因素:1、可扩展性 通过plugin,nutch容许任何人扩展它功能,而咱们要做只是对给定接口做简朴实现。2、灵活性 由于每个人都可以依照自己需求而写自己plugin,这样plugin就会有一种很强大资源库。这样对与应用nutch程序员来
20、说你有了更多关于内容爬取、过滤算法来选取。3、可维护性 一种plugin开发者只要关注这个plugin所要实现功能,而不需要懂得整个系统是怎么工作,仅仅需要懂得是plugin和plug之间互换数据类型,这使得内核更加简朴,更容易维护。插件体系构造图 图 插件体系构造插件内部构造图 插件内部构造runtime :描述了其需要 Jar 包,和发布 Jar 包requires :描述了依赖插件extension :描述了扩展点实现extension-point: 描述插件宣布可扩展扩展点Nutch通过插件机制实现了系统可扩展性、灵活性和可维护性,使得各个某些开发人员只需关注自己领域,不必去紧张如何整
21、合系统,也极大提高了开发效率。爬虫技术1、网络爬虫网络爬虫事实上是一种基于 web程序,它从初始种子站点出发,进行过滤检查,当爬虫打开某个 HTML 页面后,它会分析 HTML 标记构造来获取信息,并获取指向其他页面超级链接,然后通过既定搜索方略选取下一种要访问站点。 从理论上讲, 如果为 Spider 指定个恰当时始文档集和个恰当网络搜索方略,它就可以遍历整个网络。为理解决Web采集核心问题,通过不断地研究与实践,将爬行器由最初期单纯基于整个Web爬行器发展到可满足不同需要各种采集技术爬行器。大体可以分为如下几种类型:第一种是基于整个Web爬行器。重要是指目的为从某些种子URL扩充到整个We
22、b爬行器。第二种是增量式爬行器。老式爬行器依照自己需要采集足量信息后停止采集,当过一段时间这些数据过时后,它会重新采集一遍来代替先前信息,称为周期性Web采集器。而增量式爬行器对待就页面采用增量式更新,即采集器在需要时候采集新产生或己经发生了变化页面,而对没有变化页面不进行采集。和周期性信息采集相比,增量式信息采集能极大地减小数据采集量,从而极大地减少了采集时间与空间开销。但是与此同步,增量式信息采集也增长了算法复杂性和技术难度。第三种是基于主题爬行器是指选取性地搜寻那些与预先定义好主题有关页面爬行器。和基于整个Web爬行器相比,它并不采集那些与主题无关页面,因此大大地节约了硬件和网络资源,保
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 关键技术 文档
限制150内