流计算

一.概述
实时获取来自不同数据源的海量数据经过实时分析处理,或的有价值的信息.

1.数据的处理流程

  • 静态数据:数据不会发生变化,如数据仓库中的数据;
  • 流数据:数据以大量,快速.时变的流形式持续到达.

2.流数据特征:

  • 数据快速持续到达,潜在大小也许是无穷无尽的;
  • 数据来源众多,格式复杂;
  • 数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃,要么被归档存储;
  • 数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序;

3.数据的分析计算
流计算_第1张图片

4. 大数据的典型的三大计算框架

  • Hadoop
  • Spark
  • Strom

5.流计算基本理念

  • 数据的价值随着时间的流逝而降低;
  • 当事件出现时就应该进行处理,儿不是缓存起来进行批处理;
  • 低延迟,高可靠,可扩展;

6.流计算系统要求:高性能,海量式,实时性,分布式,易用性,可靠性;

二.流计算处理流程

流计算_第2张图片

1.数据实时采集:通常采集多个数据源的海量数据需要保证实时性,低延迟与稳定可靠;

2.数据采集系统的基本架构
流计算_第3张图片

3.数据实时计算
流计算_第4张图片
4.实时查询服务
流计算_第5张图片

5.流处理系统和传统的数据处理系统的区别
流计算_第6张图片

三.流计算的应用

  • 电子商务
    流计算_第7张图片

  • 实时交通

四.开源流计算框架Storm

1.Storm 简介

1.1 优点:

  • 可以简单,高效,可靠地处理流数据,支持多种编程语言,处理非常灵活;
  • 可以非常方便的与现有数据库系统产品进行融合,从而开发出非常强大的实时计算系统;

1.2 特点

  • 整合性,简易的API;
  • 可扩展性;
  • 可靠的消息处理;
  • 支持各种编程语言;
  • 快速部署;
  • 免费开源;

2.Storm 设计思想

2.1 Storm 将流数据Stream 描述成无限的Tuple 序列,这些Tuple 序列会以分布式的方式并行地创建和处理;
流计算_第8张图片
流计算_第9张图片

2.2 Spout
流计算_第10张图片
2.3 Bolt
流计算_第11张图片
2.4 Topology
流计算_第12张图片
流计算_第13张图片

2.5 Stream Groupings
流计算_第14张图片

流计算_第15张图片

3.Storm 框架设计

3.1 Storm 与Hadoop 类似;
流计算_第16张图片
在这里插入图片描述
3.2 Storm 集群采用"Master-Worker"的节点方式.
流计算_第17张图片

3.3 Strom 集群架构图
流计算_第18张图片

3.4 Worker 进程
流计算_第19张图片

3.5 Storm 工作流程
流计算_第20张图片
流计算_第21张图片

四.Spark Streaming,Samza流计算框架及其比较

4.1 Spark Streaming

  • 面向批处理的实时计算框架,独特的RDD 设计方式;

4.2 Spark Streaming 的设计

  • 可以整合多种数据源,如Kafka,Flume,HDFS,TCP套接字;
  • 处理后的数据可以存储至文件系统,数据库,或显示在仪表盘里;
    流计算_第22张图片

4.3 执行流程

  • Spark Streaming 的基本原理是将实时输入数据流以时间片(秒级)为单位进行拆分,然后经Spark 引擎以类似批处理的方式处理每个时间片数据;
    在这里插入图片描述

  • DStream 操作示意图
    流计算_第23张图片

  • 数据流的建模:
    流计算_第24张图片

4.4 Spark Streaming 与Storm 的对比
流计算_第25张图片
流计算_第26张图片
在这里插入图片描述

4.5 Samza

  • 基本概念:

    • 作业:
      流计算_第27张图片

    • 分区:每一个分区都是一个消息队列;
      流计算_第28张图片

    • 任务:
      流计算_第29张图片

    • 数据流图:
      流计算_第30张图片

  • Samza 架构:

    • 流数据层:负责数据流的收集分发,流处理层和执行层都被设计成可插拔的,开发人员可以使用其他框架来替代YARN 和Kafka;
    • 执行层;
    • 处理层;
      流计算_第31张图片
      流计算_第32张图片
      流计算_第33张图片
      流计算_第34张图片
      流计算_第35张图片
  • 对比:
    流计算_第36张图片

  • Storm Spark Streaming和Samza的对比
    流计算_第37张图片

你可能感兴趣的:(大数据技术原理与应用)