大数据技术原理与应用 第十一章 流计算综述.ppt

大数据技术原理与应用 第十一章 流计算综述.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大数据技术原理与应用 第十一章 流计算综述

第十一讲 流计算;提纲;8.1 流计算概述;很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息 ;近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新的数据密集型应用——流数据,即数据以大量、快速、时变的流形式持续到达 实例:PM2.5检测、电子商务网站用户点击流 流数据具有如下特征: 数据快速持续到达,潜在大小也许是无穷无尽的 数据来源众多,格式复杂 数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃,要么被归档存储 注重数据的整体价值,不过分关注个别数据 数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序;对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量计算和实时计算;流计算:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息;流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低,如用户点击流。因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的处理引擎 对于一个流计算系统来说,它应达到如下需求: 高性能 海量式 实时性 分布式 易用性 可靠性;Hadoop设计的初衷是面向大规模数据的批量处理 MapReduce是专门面向静态数据的批量处理的,内部各种实现机制都为批处理做了高度优化,不适合用于处理持续到达的动态数据 可能会想到一种“变通”的方案来降低批处理的时间延迟——将基于MapReduce的批量处理转为小批量处理,将输入数据切成小的片段,每隔一个周期就启动一次MapReduce作业。但这种方式也无法有效处理流数据 切分成小片段,可以降低延迟,但是也增加了附加开销,还要处理片段之间依赖关系 需要改造MapReduce以支持流式处理;当前业界诞生了许多专门的流数据实时计算系统来满足各自需求 商业级:IBM InfoSphere Streams和IBM StreamBase 开源流计算框架 Twitter Storm:免费、开源的分布式实时计算系统,可简单、高效、可靠地处理大量的流数据 Yahoo! S4(Simple Scalable Streaming System):开源流计算平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统 公司为支持自身业务开发的流计算框架: Facebook Puma Dstream(百度) 银河流数据处理平台(淘宝);8.2 流计算处理流程;传统的数据处理流程,需要先采集数据并存储在关系数据库等数据管理系统中,之后由用户通过查询操作和数据管理系统进行交互 传统的数据处理流程隐含了两个前提: 存储的数据是旧的。存储的静态数据是过去某一时刻的快照,这些数据在查询时可能已不具备时效性了 需要用户主动发出查询来获取结果;流计算的处理流程一般包含三个阶段:数据实时采集、数据实时计算、实时查询服务;数据实时采集阶段通常采集多个数据源的海量数据,需要保证实时性、低延迟与稳定可靠 以日志数据为例,由于分布式集群的广泛应用,数据分散存储在不同的机器上,因此需要实时汇总来自不同机器上的日志数据 目前有许多互联网公司发布的开源分布式日志采集系统均可满足每秒数百MB的数据采集和传输需求,如: Facebook的Scribe LinkedIn的Kafka 淘宝的Time Tunnel 基于Hadoop的Chukwa和Flume;数据采集系统的基本架构一般有以下三个部分: Agent:主动采集数据,并把数据推送到Collector部分 Collector:接收多个Agent的数据,并实现有序、可靠、高性能的转发 Store:存储Collector转发过来的数据(对于流计算不存储数据);数据实时计算阶段对采集的数据进行实时的分析和计算,并反馈实时结果 经流处理系统处理后的数据,可视情况进行存储,以便之后再进行分析计算。在时效性要求较高的场景中,处理之后的数据也可以直接丢弃;实时查询服务:经由流计算框架得出的结果可供用户进行实时查询、展示或储存 传统的数据处理流程,用户需要主动发出查询才能获得想要的结果。而在流处理流程中,实时查询服务可以不断更新结果,并将用户所需的结果实时推送给用户 虽然通过对传统的数据处理系统进行定时查询,也可以实现不断地更新结果和结果推送,但通过这样的方式获取的结果,仍然是根据过去某一时刻的数据得到的结果,与实时结果有着本质的区别 ;可见,流处理系统与传统的数据处理系统有如下不同: 流处理系统处理的是实时的数据,而传统的数据处理系统处理的是预先存储好的静态数据 用户通过流处理系统获取的是实时

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档