网站大量收购独家精品文档,联系QQ:2885784924

第二章 大数据管理系统处理架构.pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 大数据管理系统处理架构 2.1 概述 无论是工业界还是学术界,都已经广泛使用高级集群编程模型来处理日益增长的数据, 如MapReduce 。这些系统将分布式编程简化为自动提供位置感知(locality-aware )调度、容 错以及负载均衡,使得大量用户能够在商用集群上分析庞大的数据集。 大多数现有的集群计算系统都是基于非循环的数据流模型(acyclic data flow model )。 从稳定的物理存储 (如分布式文件系统)中加载记录,一组确定性操作构成一个有向无环图 (Directed Acyclic Grap ,DAG),记录被传入这个DAG,然后写回稳定存储。通过这个 DAG 数据流图,运行时自动完成调度工作及故障恢复。 尽管非循环数据流是一种很强大的抽象方法,但有些应用仍然无法使用这种方式描述, 包括:(1)机器学习和图应用中常用的迭代算法(每一步对数据执行相似的函数) ;(2)交互式数 据挖掘工具 (用户反复查询一个数据子集)。基于数据流的架构也不明确支持这种处理,所 以需要将数据输出到磁盘然后在每次查询时重新加载,从而带来较大的开销。 [1] 当前大数据分析处理系统的发展趋势主要有两个方向 ,如图2.1 所示,一种是以 Hadoop 和MapReduce 为代表的批处理(Batch Processing) 系统,另一种是为各种特定应用开 发的流处理(Stream Processing) 系统,批处理是先存储后处理(Store-then-process) ,而流处理 则是直接处理(Straight-through processing) 。 图2.1 大数据分析系统框架[2] 随着大数据时代的到来,单一的计算模式已难以满足整个应用的需求,因此需要考虑不 同计算模式的混合使用。Spark 作为混合式计算模式的典型代表应运而生,近年来逐渐引起 了学术界和工业界的广泛重视。本章首先简单介绍大数据两种代表性系统处理架构:批处理 系统和流处理系统,然后详细介绍Spark 系统架构、特性及性能分析。 2.2 批处理系统 Google 公司在2004 年提出的MapReduce 编程模型是最具代表性的批处理模式。一个完 整的MapReduce 过程如图2.2 所示错误!未定义书签。。 MapReduce 模型首先将用户的原始数据源进行分块,然后分别交给不同的Map 任务区 处理。Map 任务从输入中解析出Key/Value对集合,然后对这些集合执行用户自行定义的 Map 函数得到中间结果,并将该结果写入本地硬盘。Reduce 任务从硬盘上读取数据之后, 会根据key 值进行排序,将具有相同key 值的组织在一起。最后用户自定义的Reduce 函数 会作用于这些排好序的结果并输出最终结果。 从MapReduce 的处理过程我们可以看出,MapReduce 的核心设计思想在于:1)将问题 分而治之;2)把计算推到数据而不是把数据推到计算,有效的避免数据传输过程中产生的大 5 量通讯开销。MapReduce 模型简单,且现实中很多问题都可用 MapReduce 模型来表示。因 此该模型公开后,立刻受到极大的关注,并在生物信息学、文本挖掘等领域得到广泛的应用。 图 2.2 MapReduce 执行流程图[3] 无论是流处理还是批处理,都是大数据处理的可行思路。大数据的应用类型很多,在实 际的大数据处理中,常常并不是简单的只使用其中的某一种,而是将二者结合起来。互联网 是大数据最重要的来源之一,很多互联网公司根据处理时间的要求将自己的业务划分为在线 (Online)、近线(Nearline)和离线(Offline),比如著名的职业社交网站Linkedin[4] 。这种划分方 式是按处理所耗时间来划分的。其中在线的处理时间一般在秒级,甚至是毫秒级,因此通常 采用上面所说的流处理。离线的处理时间可以以天为基本单位,基本采用批处理方式,这种 方式可以最大限度的利用系统 I/O 。近线的处理时间一般在分钟级或者是小时级,对其处理 模型并没有特别的要求,可以根据需求灵活选择。但在实际中多采用批处理模式。 2.3 流处理系

文档评论(0)

134****3224 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档