大数据技术文档样本.docx
《大数据技术文档样本.docx》由会员分享,可在线阅读,更多相关《大数据技术文档样本.docx(48页珍藏版)》请在咨信网上搜索。
1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。第1章 绪论 随着计算机技术、 通信网、 互联网的迅速发展和日益普及, Internet上的信息量快速增长。从海量的信息块中快速检索出用户真正需要的信息正变得很困难, 信息搜索应向着具有分布式处理能力方向发展, 本系统利用hadoop分布式开源框架良好的扩充能力、 较低的运作成本、 较高的效率和稳定性来满足需求。现状: 缺陷和不足: ( 1) 结果主题相关度不高。( 2) 搜素速度慢。引入hadoop+nutch+solr的优点: ( 1) hadoop平台数据处理高效。hadoop集群处理数据比起单机节省数倍的时间, 数据量越大优势越
2、明显, 满足信息采集对数据处理的速度和质量要求。( 2) hadoop平台具有高扩展性。能够适当扩展集群数量来满足日益不断增加的数据量, 而这并不会毁坏原集群的特性。( 3) 安全可靠性高。集群的数据冗余机制使得hadoop能从单点失效中恢复, 即Hadoop能自动进行数据的多次备份, 以确保数据不丢失, 即使当某个服务器发生故障时, 它也能重新部署计算任务。( 4) Nutch不但提供抓取网页的功能, 还提供了解析网页、 建立链接数据库、 对网页进行评分、 建立solr索引等丰富的功能。( 5) 经过Nutch插件机制实现了系统的可扩展性、 灵活性和可维护性, 提高了开发效率。能够根据用户需
3、求进行灵活定制抓取和解析, 提高了系统使用性。( 6) 经过solr集群, 采用分布式索引在不同的机器上并行执行, 实现检索服务器之间的信息交换。能够经过设定主题进行索引检索。研究目标和内容本文的研究目标是全面深入分析研究分布式搜索引擎, 进而优化分布式搜索引擎中的索引构建策略, 内容包括: ( 1) 深入研究hadoop分布式平台, 仔细剖析hadoop中的分布式文件系统HDFS和map/Reduce编程模型。( 2) 深入研究Nutch架构 、 相关技术与体系结构, 着重研究分析Nutch插件系统的内部结构和流程; 对protocol-httpclient插件进行开发支持表单登录; 对 u
4、rl过滤、 信息解析插件进行开发, 提高搜索的主题相关度; ( 实现用mapreduce的google的排序算法, 改进系统搜索的关联度) 。系统功能结构( 1) 本地资源解析模块对本地文本pdf,word,excel内容解析和索引, 按照主题分类, 添加到相应的主题中进行搜素。( 2) 搜索模块用户根据不同主题进行内容索引、 关键词查询, 将跟查询关联度最高的前n个文档返回给用户, 并统计出在这些查询结果中出现频率最高的前n个词。用户可根据需求修改配置文件, 提高搜索的相关度。( 3) 信息爬取模块 信息定制采集模块1、 种子URL: 用作抓取器爬取的出发点, 也叫做根URL。2、 关键字:
5、 关键字的选择很重要, 描述了抓取任务的所属分类的主题方向。3、 深度: 由于Nutch抓取模块采用的是广度优先的策略, 抓取深度的选择决定了抓取时间的长度和抓取网页数量的大小。一般根据所选取的种子URL的类型和详细程度以及对网页抓取规模的需求来进行设置。 在信息定制模块用户设置主题信息, url信息、 抓取深度的信息, 抓取线程根据定制信息, 开始抓取工作。( 综合型搜索引擎; 某一主题类网站, 垂直搜索引擎; 博客搜索引擎) 信息解析过滤模块根据fiddle进行登录分析, 修改网络协议插件, 支持简单的一次跳转表单登录, 用户能够在配置文件中进行设置, 然后抓取内容; 复杂的登陆需要分析登
6、陆过程, 写出相对应的网络协议插件。由于本系统在网络资源采集过程中支持个性化定制, 只对目标站点感兴趣的内容进行采集, 分析目标站点的结构特点, 在页面采集完成后, 从中提取出链接、 元数据、 正文、 标题、 关键字、 描述等信息, 进行后续的过滤和其它处理。链接的提取首先要判断页面类型, 页面的类型能够有应答头分析得出, 根据不同的类型选择相应的爬取和解析插件, 对遇到带有链接的标记如、 、 等, 就从标记结构的属性中找出 目标url, 并从成正确该标记之间抽取出正文作为该链接的说明文字, 链接文字一般能反映文章的主题信息, 系统设定阈值, 判断主题和说明性文字的相关性, 对爬取链接进行过滤
7、, 加入到爬取链接列表中。定制采集的子模块, 根据正则表示式对网页内容进行过滤, 获取和处理跟主题相关的内容, 过滤无关的信息内容; 对网页编码格式进行提取, 实现内容编码的转换。( 下一步改进主题相关度链接过滤算法) ( 4) 系统管理模块用户对根据需求对系统的配置参数进行修改。论文组织结构 1、 绪论。本章首先介绍了本文研究的背景及意义, 接着研究了信息采集与搜索技术的国内外发展现状, 最后给出了本文研究的内容和论文组织结构。2、 关键技术。Hadoop、 Nutch、 Solr技术架构及文本检索算法本章介绍了开源软件Hadoop、 Nutch、 Solr的基本情况;详细介绍了Hadoop
8、框架及其进行分布式计算的编程模型MapReduce和数据存储系统HDFS; Nutch以Hadoop的分布式文件系统HDFS作为底层数据平台, 采用MapReduce编程方式实现数据的分布式处理, 以扩展机制为突出特性, 用户能够根据实际需求对其添加插件进行扩展改进, 构建自己的信息采集搜索系统; 经过Solr集群, 采用分布式索引在不同的机器上并行执行, 实现检索服务器之间的信息交换, 减小索引对机器的要求, 同时介绍了常见的文本检索算法VSM , pagerank和lucene默认的排序算法。3、 系统环境配置。Hadoop+Nutch+Solr系统的运行环境配置与运行。本章介绍配置Had
9、oop+Nutch+solr系统的运行环境并详细阐述其运行流程。4、 基于Hadoop+Nutch+Solr的信息采集搜索系统的设计与实现。本课题采用hadoop+Nutch+Solr开源软件, 缩短了开发时间而且能够根据个性化需要采集数据提高搜素结果的精度, 基于mapreduce实现了pagerank算法,将pagerank作为一个独立的索引项添加到nutch默认的lucene排序算法中, 用户能够根据需求自己定义排序的规则, 提高检索的相关度。( 基于hadoop的nutch网页排序算法研究与实现) 系统相关技术介绍Hadoop hadoop由 Apache公司于 年秋天作为Lucene
10、的子项目Nutch的一部分正式引入。Hadoop被定位为一个易于使用的平台, 以HDFS、 MapReduce为基础, 能够运行上千台PCServer组成的系统集群, 并以一种可靠、 容错的方式分布式处理请求。本文基于Hadoop+Nutch+Solr开发的信息采集搜索项目, 现对Hadoop进行全面分析和深入研究。Hadoop框架介绍Hadoop是执行大数据分布式应用的开源框架, 凭借高效, 可靠, 可扩展等特性受到广泛应用, 它有两大最核心的模块: 进行分布式计算的MapReduce与底层的存储系统HDFS( Hadoop Distributed FileSystem分布式文件系统) 。M
11、apReduce中任务的分解( Map) 与结果的汇总( Reduce) 是其主要思想。Map就是将一个任务分解成多个任务, Reduce就是将分解后多任务分别处理, 并将结果汇总为最终结果。Hadoop整体由九个子项目组成, 其中MapReduce和HDFS两大核心将在后文展开具体介绍。框架如下图所示, 项目功能如下表所示.图 Hadoop框架图子项目功能Hadoop CommonHadoop系统核心, 提供子项目的基本支持HDFS实现高吞吐的分布式存储MapReduce执行分布式并行计算HBase一个可扩展的分布式数据库系统Pig为并行计算提供数据流语言和执行框架Hive提供类SQL语法进
12、行数据查询的数据仓库ZooKeeper提供分布式锁等Mahout一个大规模机器学习和数据挖掘库ArvoHadoop的RPC(远程过程调用)方案表Hadoop子项目功能介绍MapReduce编程模型MapReduce是一种编程模型, 该模型将数据扩展到多个数据节点上进行处理, 它最早是Google提出的一个软件架构, 用于大规模数据集( 大于1TB) 的并行运算。并行编程模式的最大优点是容易扩展到多个计算节点上处理数据。开发者能够很容易就编写出分布式并行程序。mapreduce的主要思想是将自动分割要执行的问题( 例如程序) 拆解成map( 映射) 和reduce( 化简) 的方式; 一个Map
13、Reduce作业( job) 首先会把输入的数据集分割为多个独立的数据块, 再以键值对形式输给Map函数并行处理。Map函数接受一个输入键值正确值, 产生一个中间键值对集合, 由MapReduce保存并集合所有具有相同中间key值的中间value值传递给Reduce函数, reduce对这些value值进行合并, 形成一个value值集合, 最终形成输出数据。 处理流程如下图: MapReduce的处理流程Hadoop的分布式文件系统( HDFS) Hadoop分布式文件系统(HDFS)是Google GFS存储系统的开源实现, HDFS具有高容错性和高传输率, 特别适合具有大数据集的程序应用
14、。HDFS采用master/slave架构。一个HDFS集群包含一个单独的名字节点( Namenode) 和一定数目的数据节点( Datanode) 组成一个HDFS集群。HDFS被设计成一个能够在大集群中、 跨机器、 可靠的存储海量数据的框架。它将所有文件存储成block块组成的序列, 除了最后一个block块, 所有的block块大小都是一样的, 她们存放在一组Datanode中, 文件的所有block块都会因为容错而被复制, 每个文件的block块大小和容错复制份数都是可配置的,她们在Namenode的统一调度小进行数据块的创立、 删除和复制工作。下图所示为HDFS的体系架构 图 HDF
15、S体系结构图Namenode和Datanode都能够在普通计算机上运行。Namenode作为master服务, 它负责管理文件系统的命名空间和客户端对文件的访问。NameNode会保存文件系统的具体信息, 包括文件信息、 文件被分割成具体block块的信息、 以及每一个block块归属的Datanode的信息, 对于整个集群来说, HDFS经过Namenode对用户提供了一个单一的命名空间; Datanode作为slave服务, 在集群中能够存在多个, 一般每一个Datanode都对应于一个物理节点, Datanode负责管理节点上它们拥有的存储, 它将存储划分为多个block块, 管理blo
16、ck块信息, 同时周期性的将其所有的block块信息发送给Namenode。从上面的介绍能够看出, 在搭建好的Hadoop集群上, 大数据集首先会由HDFS安全稳定地分布存储到集群内的多台机器上, 再利用MapReduce模型将该数据集分解为较小的块( 一般为64MB) 进行处理, 特点是高效、 安全、 具备高吞吐量。Hadoop用户能够在不了解分布式底层细节的情况下很好地利用该分布式平台开发分布式程序, 进行高效数据存储和运算。因此Hadoop成为管理大量数据的关键技术, 在信息采集和搜索领域的使用范围越来越广。hadoop具备以下突出的优点: ( 1) hadoop平台数据处理简单高效。h
17、adoop运行在由普通PC机组建的大型集群上, 用户能够在平台上快速编写并行代码运行分布式应用, 避免耗时的数据传输问题; 集群处理数据比起单机节省数倍的时间, 数据量越大优势越明显, 满足信息采集对数据处理的速度和质量要求。( 2) hadoop平台具有高扩展性。能够适当扩展集群数量来满足日益不断增加的数据量, 而这并不会毁坏原集群的特性。( 3) 安全可靠性高。集群的数据冗余机制使得hadoop能从单点失效中恢复, 即Hadoop能自动进行数据的多次备份, 以确保数据不丢失, 即使当某个服务器发生故障时, 它也能重新部署计算任务。Nutch Nutch 是 Apache 基金会的一个开源项
18、目, 它原本是开源文件索引框架 Lucene 项目的一个子项目, 后来渐渐发展成长为一个独立的开源项目。它基于 Java 开发, 基于 Lucene 框架, 提供 Web 网页爬虫功能。从 nutch0.8.0开始, Nutch 完全构建在 Hadoop 分布式计算平台之上, 因此基于 Hadoop 的 Nutch 信息采集系统能够部署在由成千上万计算机组成的大型集群上, Nutch 也分为2部分, 信息爬取和检索, 但nutch1.2版本之后, Nutch专注的只是爬取数据, 而全文检索的部分彻底的交给solr。nutch的抓取流程中, 抓取器也叫蜘蛛或者机器人, 以广度优先搜索( BFS)
19、 的方式从企业内部网或者互联网抓取网页, 爬取过程包括了爬虫模块和解析模块。爬虫程序将网页页面抓回判断格式解析数据, 形成页面内容数据库。种子url nutch的采集过程要预先给定初始种子url, 而种子url的选择将直接影响主题搜索的质量, 因此选取初始种子url的原则是种子页面本身要具有较高的主题相关性。初始种子url既能够是一个网站的首页, 也能够是网站的子页面, 关键是要尽可能的覆盖主题资源, 最终实现抓取目标的最大化, 主要有四种方法生成初始种子url:( 1) 人工指定: 给出某个领域的权威专家给出相关的种子页面。( 2) 自动生成: 根据用户指定的部分关键词, 并将这些关键词提交
20、给通用搜索引擎, 从检索结果中抽取前N个页面作为种子页面。( 3) 混合模式: 即人工指定与自动生成相结合, 首先利用通用搜索引擎获得部分相关页面, 然后经过人工筛选、 过滤、 合并、 评价, 形成一个能充分反映主题特征的种子页面。( 4) 增加爬虫的学习能力: 经过建立各个领域的主题种子库, 并对检索历史、 用户反馈信息进行分析的基础上, 动态优化产生相应主题的种子页面集。种子的选取在实际操作中应该根据需求及领域的特征选择适当的方法。Nutch插件机制Nutch另外很吸引人的一点在于, 它提供了一种插件框架, 使得其对各种网页内容的解析、 各种数据的采集、 查询、 集群、 过滤等功能能够方便
21、的进行扩展, 插件的扩展只需经过给定接口实现, 每个接口之下的实现相互独立, 用户能够专注于目标接口的扩展而不必担心该接口与其它接口的交互Nutch 的插件体系结构。nutch使用plugin系统有三个原因: 1、 可扩展性 经过plugin, nutch允许任何人扩展它的功能, 而我们要做的只是对给定的接口做简单的实现。2、 灵活性 因为每个人都能够根据自己的需求而写自己的plugin, 这样plugin就会有一个很强大的资源库。这样对与应用nutch程序员来说你有了更多的关于内容爬取、 过滤的算法来选择。3、 可维护性 一个plugin的开发者只要关注这个plugin所要实现的功能, 而不
22、需要知道整个系统是怎么工作的, 仅仅需要知道的是plugin和plug之间交换的数据类型, 这使得内核更加简单, 更容易维护。插件体系结构图 图 插件体系结构插件的内部结构图 插件内部结构runtime : 描述了其需要的 Jar 包, 和发布的 Jar 包requires : 描述了依赖的插件extension : 描述了扩展点的实现extension-point: 描述插件宣布可扩展的扩展点Nutch经过插件机制实现了系统的可扩展性、 灵活性和可维护性, 使得各个部分的开发人员只需关注自己的领域, 不必去担心如何整合系统, 也极大的提高了开发效率。爬虫技术1、 网络爬虫网络爬虫实际上是一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 技术 文档 样本
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。