81.2批量计算和实时计算 对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量 计算和实时计算 处理逻辑 流数据 (动态数据) 静态数据 处理 逻辑 价值 丢弃 价值 批量计算 实时计算 数据的两种处理模型
• 对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量 计算和实时计算 8.1.2 批量计算和实时计算 数据的两种处理模型
81.2批量计算和实时计算 批量计算以“静态数据”为对象,可在充裕的时间内对海量数据进行 批量处理,计算得到有价值的信息。 Hadoop是典型的批处理模型, 由HDFS和 HBase存放大量的静态数据,由 MapReduce负责对海量数 据执行批量计算 流数据须釆用实时计算。实时计算最重要的一个需求是能够实时得到 计算结果,一般要求响应时间为秒级。当只需要处理少量数据时,实 时计算并不是问题;但是,在大数据时代,数据格式复杂、来源众多、 数据量巨大,对实时计算提出了很大的挑战。因此,针对流数据的实 时计算—流计算,应运而生
• 批量计算以“静态数据”为对象,可在充裕的时间内对海量数据进行 批量处理,计算得到有价值的信息。Hadoop是典型的批处理模型, 由HDFS和HBase存放大量的静态数据,由MapReduce负责对海量数 据执行批量计算 • 流数据须采用实时计算。实时计算最重要的一个需求是能够实时得到 计算结果,一般要求响应时间为秒级。当只需要处理少量数据时,实 时计算并不是问题;但是,在大数据时代,数据格式复杂、来源众多、 数据量巨大,对实时计算提出了很大的挑战。因此,针对流数据的实 时计算——流计算,应运而生 8.1.2 批量计算和实时计算
813流计算概念 流计算:实时获取来自不同数据源的海量数据,经过实时 分析处理,获得有价值的信息 描 数据采集实时分析处理》结果反馈 流计算示意图
• 流计算:实时获取来自不同数据源的海量数据,经过实时 分析处理,获得有价值的信息 8.1.3 流计算概念 流计算示意图
813流计算概念 流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低。 因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量 处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的 处理引擎 对于一个流计算系统来说,它应达到如下需求: 髙性能:处理大数据的基本要求,如每秒处理几十万条数据 一海量式:支持TB级甚至是PB级的数据规模 实时性:保证较低的延迟时间,达到秒级别,甚至是毫秒级别 分布式:支持大数据的基本架构,必须能够平滑扩展 易用性:能够快速进行开发和部署 可靠性:能可靠地处理流数据
• 流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低。 因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量 处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的 处理引擎 • 对于一个流计算系统来说,它应达到如下需求: – 高性能:处理大数据的基本要求,如每秒处理几十万条数据 – 海量式:支持TB级甚至是PB级的数据规模 – 实时性:保证较低的延迟时间,达到秒级别,甚至是毫秒级别 – 分布式:支持大数据的基本架构,必须能够平滑扩展 – 易用性:能够快速进行开发和部署 – 可靠性:能可靠地处理流数据 8.1.3 流计算概念
814流计算与 Hadoop Hadoop设计的初衷是面向大规模数据的批量处理,每台机器并行运 行 MapReduce任务,最后对结果进行汇总输出 MapReduce是专门面向静态数据的批量处理的,内部各种实现机制都 为批处理做了高度优化,不适合用于处理持续到达的动态数据 我们可能会想到一种“变通”的方案来降低批处理的时间延迟一一将 基于 MapReduce的批量处理转为小批量处理,将输入数据切成小的片 段,每隔一个周期就启动一次 MapReduce作业。但这种方式也无法有 效处理流数据
• Hadoop设计的初衷是面向大规模数据的批量处理,每台机器并行运 行MapReduce任务,最后对结果进行汇总输出 • MapReduce是专门面向静态数据的批量处理的,内部各种实现机制都 为批处理做了高度优化,不适合用于处理持续到达的动态数据 • 我们可能会想到一种“变通”的方案来降低批处理的时间延迟——将 基于MapReduce的批量处理转为小批量处理,将输入数据切成小的片 段,每隔一个周期就启动一次MapReduce作业。但这种方式也无法有 效处理流数据 8.1.4 流计算与Hadoop