大数据导论第5章 大数据计算框架.pptx

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大数据导论;第5章 大数据计算框架;5.1 计 算 框 架;5.1.1 批处理框架 批处理是一种用来计算大规???数据集的方法,它在大数据世界有着悠久的历史,最早的Hadoop就是其中一种,而后起之秀Spark也是从批处理开始做起的。批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。批处理模式中使用的数据集通常符合下列特征。 有界:批处理的数据集是数据的有限集合。 持久:数据通常存储在某种类型的持久存储系统中,如HDFS或数据库。 大量:批处理操作通常处理极为海量的数据集。; 批处理适合需要访问全体记录才能完成的计算工作。 需要处理大量数据的任务通常最适合用批处理操作进行处理。 大量数据的处理需要付出大量时间,因此批处理不适合对处理时间要求较高的场合。;5.1.2 流式处理框架 在大数据时代,数据通常都是持续不断、动态产生的。在很多场合,数据需要在非常短的时间内得到处理,并且还要考虑容错、拥塞控制等问题,避免数据遗漏或重复计算。流式处理框架则是针对这一类问题的解决方案。 流式处理框架一般采用有向无环图(Directed Acyclic Graph, DAG)模型。图中的节点分为两类:一类是数据的输入节点,负责与外界交互而向系统提供数据;另一类是数据的计算节点,负责完成某种处理功能,如过滤、累加、合并等。从外部系统不断传入的实时数据则流经这些节点,把它们串接起来。 ; 基于流式处理框架的系统会对随时进入系统的数据进行计算。相比批处理,这是一种截然不同的处理方式。流式处理无须针对整个数据集执行操作,而会对通过系统传输的每个数据项执行操作。流式处理的数据集是“无边界”的,这就产生了如下3个重要的影响。 (1)完整数据集只能代表截至目前已经进入系统中的数据总量。 (2)工作数据集会更加相关,在特定时间只能代表某个单一数据项。 (3)处理工作是基于事件的,除非明确停止,否则没有“尽头”。处理结果立即可用,并会随着新数据的抵达继续更新。 ; 此类处理非常适合某些类型的工作负载,有近实时处理需求的任务很适合使用流式处理,如分析服务器或应用程序错误日志,以及其他基于时间的衡量指标的应用场景,因为这些应用场景要求对数据变化做出实时的响应,对业务职能来说是极为关键的。流式处理很适合用来处理必须对变动或峰值做出响应,并且关注一段时间内变化趋势的数据。 Apache Storm是一种侧重于极低延迟的流式处理框架,也是要求近实时处理的工作负载的最佳选择。该框架可处理非常大量的数据,提供结果比其他解决方案具有更低的延迟。同时,Spark Streaming也提供这种流式的处理模式。;5.1.3 交互式处理框架 在解决了大数据的可靠存储和高效计算后,如何为数据分析人员提供便利应用,日益受到关注,而最便利的分析方式莫过于交互式查询。一些批处理和流计算平台如Hadoop和Spark也分别内置了交互式处理框架。 由于SQL已被业界广泛接受,目前的交互式处理框架都支持用类似SQL的语言进行查询。早期的交互式分析平台建立在Hadoop的基础上,被称作SQL-on-Hadoop。后来的分析平台改用Spark、Storm等引擎,不过SQL-on-Hadoop的称呼还是沿用了下来。SQL-on-Hadoop也指为分布式数据存储提供SQL查询功能。 ; Apache Hive是最早出现的、架构在Hadoop基础之上的大规模数据仓库,由Facebook公司设计并开源。Hive的基本思想:通过定义模式信息,把HDFS中的文件组织成类似传统数据库的存储系统。Hive保持着Hadoop所提供的可扩展性和灵活性。Hive支持熟悉的关系型数据库概念,如表、列和分区,包含对非结构化数据一定程度的SQL支持。它支持所有主要的原语类型(如整数、浮点数、字符串)和复杂类型(如字典、列表、结构)。它还支持使用类似SQL的声明性语言Hive Query Language(HiveQL)表达的查询,任何熟悉SQL的人都很容易理解它。 ;5.2 MapReduce;5.2.1 MapReduce编程的特点 MapReduce源于Google公司的一篇论文,它借鉴了分而治之的思想,将一个数据处理过程拆分为主要的Map(映射)和Reduce(化简)两步。 用户不需要了解分布式计算框架的内部运行机制,只要能用Map和Reduce的思想描述清楚要处理的问题,即编写map()和reduce()函数,就能轻松地使用Hadoop实现分布式的处理。MapReduce的编程具有以下特点。 1.开发简单 2.可扩展性强 3.容错性强;5.2.2 MapReduce的计

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档