8.1流计算概述 ·8.1.1 静态数据和流数据 ·8.1.2 批量计算和实时计算 8.1.3 流计算概念 8.14流计算与 Hadoop ·8.1.5 流计算框架 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 8.1 流计算概述 • 8.1.1 静态数据和流数据 • 8.1.2 批量计算和实时计算 • 8.1.3 流计算概念 • 8.1.4 流计算与Hadoop • 8.1.5 流计算框架
8.1.1静态数据和流数据 很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量 历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On Line Analytical Processing)分析工具从静态数据中找到对企业有价 值的信息 数据仓库监视、运行和维护工具 外部数据 数据挖掘 前端应用 元数据 数据仓库 数据挖掘系统 插取、转换 报表 加载ETD OLTP系统 服务 !回分析工具 查询工具 文档 其中应 数据集市 OLAP服务器 数据源 数据存储和管理 分析和挖掘引擎 应用 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量 历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(OnLine Analytical Processing)分析工具从静态数据中找到对企业有价 值的信息 8.1.1 静态数据和流数据
8.1.1静态数据和流数据 近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新 的数据密集型应用——流数据,即数据以大量、快速、时变的流形式 持续到达 实例:PM25检测、电子商务网站用户点击流 流数据具有如下特征: 数据快速持续到达,潜在大小也许是无穷无尽的 数据来源众多,格式复杂 数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃, 要么被归档存储 注重数据的整体价值,不过分关注个别数据 数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的 数据元素的顺序 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新 的数据密集型应用——流数据,即数据以大量、快速、时变的流形式 持续到达 • 实例:PM2.5检测、电子商务网站用户点击流 • 流数据具有如下特征: – 数据快速持续到达,潜在大小也许是无穷无尽的 – 数据来源众多,格式复杂 – 数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃, 要么被归档存储 – 注重数据的整体价值,不过分关注个别数据 – 数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的 数据元素的顺序 8.1.1 静态数据和流数据
8.12批量计算和实时计算 对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量 计算和实时计算 批量计算:充裕时间处理静态数据, 处理逻辑 流数据 如 Hadoop (动态数据) ·流数据不适合采用批量计算,因为流 数据不适合用传统的关系模型建模 :流数据必须采用实时计算,响应时间(静态数据 处理 为秒级 逻辑 价值 ·在大数据时代,数据格式复杂、来源 众多、数据量巨大,对实时计算提出 了很大的挑战。因此,针对流数据的 丢弃 实时计算—流计算,应运而生 价值 批量计算 实时计算 图8-2数据的两种处理模型 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量 计算和实时计算 8.1.2 批量计算和实时计算 图8-2 数据的两种处理模型 •批量计算:充裕时间处理静态数据, 如Hadoop •流数据不适合采用批量计算,因为流 数据不适合用传统的关系模型建模 •流数据必须采用实时计算,响应时间 为秒级 •在大数据时代,数据格式复杂、来源 众多、数据量巨大,对实时计算提出 了很大的挑战。因此,针对流数据的 实时计算——流计算,应运而生
8.1.3流计算概念 ·流计算:实时获取来自不同数据源的海量数据,经过实时 分析处理,获得有价值的信息 : @ 数据采集 实时分析处理 结果反馈 图8-3流计算示意图 《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 流计算:实时获取来自不同数据源的海量数据,经过实时 分析处理,获得有价值的信息 8.1.3 流计算概念 图8-3 流计算示意图 数据采集 实时分析处理 结果反馈
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 数据处理流程 传统的数据处理流程示意图 数据管理系统 用户查询 查询结果