8.1.3流计算概念 ·流计算秉承一个基本理念,即数据的价值随着时间的流 逝而降低,如用户点击流。因此,当事件出现时就应该 立即进行处理,而不是缓存起来进行批量处理。为了及时 处理流数据,就需要一个低延迟、可扩展、高可靠的处理 引擎 ·对于一个流计算系统来说,它应达到如下需求 高性能 海量式 实时性 分布式 易用性 可靠性 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 流计算秉承一个基本理念,即数据的价值随着时间的流 逝而降低,如用户点击流。因此,当事件出现时就应该 立即进行处理,而不是缓存起来进行批量处理。为了及时 处理流数据,就需要一个低延迟、可扩展、高可靠的处理 引擎 • 对于一个流计算系统来说,它应达到如下需求: – 高性能 – 海量式 – 实时性 – 分布式 – 易用性 – 可靠性 8.1.3 流计算概念
814流计算与 Hadoop Hadoop设计的初衷是面向大规模数据的批量处理 · MapReduce是专门面向静态数据的批量处理的,内部各种实现机制 都为批处理做了高度优化,不适合用于处理持续到达的动态数据 可能会想到一种“变通”的方案来降低批处理的时间延迟——将基于 MapReduce的批量处理转为小批量处理,将输入数据切成小的片段 每隔一个周期就启动一次 MapReduce作业。但这种方式也无法有 效处理流数据 切分成小片段,可以降低延迟,但是也增加了附加开销,还要处 理片段之间依赖关系 需要改造 MapReduce以支持流式处理 结论:鱼和熊掌不可兼得, Hadoop擅长批处理,不适合流计算 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • Hadoop设计的初衷是面向大规模数据的批量处理 • MapReduce是专门面向静态数据的批量处理的,内部各种实现机制 都为批处理做了高度优化,不适合用于处理持续到达的动态数据 • 可能会想到一种“变通”的方案来降低批处理的时间延迟——将基于 MapReduce的批量处理转为小批量处理,将输入数据切成小的片段 ,每隔一个周期就启动一次MapReduce作业。但这种方式也无法有 效处理流数据 – 切分成小片段,可以降低延迟,但是也增加了附加开销,还要处 理片段之间依赖关系 – 需要改造MapReduce以支持流式处理 8.1.4 流计算与Hadoop 结论:鱼和熊掌不可兼得,Hadoop擅长批处理,不适合流计算
8.1.5流计算框架 ·当前业界诞生了许多专门的流数据实时计算系统来满足各自需求 商业级:| BM Info Sphere Streams和| BM StreamBase 开源流计算框架 Twitter storm:免费、开源的分布式实时计算系统,可简单、高 效、可靠地处理大量的流数据 - Yahoo!s4( Simple Scalable Streaming Systen):开源流计算 平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的 流式系统 ·公司为支持自身业务开发的流计算框架: Facebook puma - Stream(百度) 银河流数据处理平台(淘宝) 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 当前业界诞生了许多专门的流数据实时计算系统来满足各自需求 • 商业级:IBM InfoSphere Streams和IBM StreamBase • 开源流计算框架 – Twitter Storm:免费、开源的分布式实时计算系统,可简单、高 效、可靠地处理大量的流数据 – Yahoo! S4(Simple Scalable Streaming System):开源流计算 平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的 流式系统 • 公司为支持自身业务开发的流计算框架: – Facebook Puma – Dstream(百度) – 银河流数据处理平台(淘宝) 8.1.5 流计算框架
8.2流计算处理流程 8.2.1 概述 ·8.2.2 数据实时采集 8.2.3 数据实时计算 ·824实时查询服务 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 8.2 流计算处理流程 • 8.2.1 概述 • 8.2.2 数据实时采集 • 8.2.3 数据实时计算 • 8.2.4 实时查询服务
82.1数据处理流程 传统的数据处理流程,需要先采集数据并存储在关系薮据库等数据管 理系统中,之后由用户通过查询操作和数据管理系统进行交互 用户查询 数据管理系统查询结果 传统的数据处理流程示意图 传统的数据处理流程隐含了两个前提: 存储的数据是旧的。存储的静态数据是过去某一时刻的快照,这 些数据在查询时可能已不具备时效性了 需要用户主动发出查询来获取结果 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 传统的数据处理流程,需要先采集数据并存储在关系数据库等数据管 理系统中,之后由用户通过查询操作和数据管理系统进行交互 • 传统的数据处理流程隐含了两个前提: – 存储的数据是旧的。存储的静态数据是过去某一时刻的快照,这 些数据在查询时可能已不具备时效性了 – 需要用户主动发出查询来获取结果 8.2.1 数据处理流程 传统的数据处理流程示意图 数据管理系统 用户查询 查询结果