7.2 Spark Streaming

1、Spark Streaming设计

  Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里。算法

  Spark Streaming的基本原理将实时输入数据流以时间片(秒级)为单位进行拆分,而后经Spark引擎以相似批处理的方式处理每一个时间片数据。数据库

  Spark Streaming最主要的抽象是DStream(Discretized Stream,离散化数据流),表示接二连三的数据流。在内部实现上,Spark Streaming的输入数据按照时间片(如1秒)分红一段一段,每一段数据转换为Spark中的RDD,这些分段就是Dstream,而且对DStream的操做都最终转变为对相应的RDD的操做。架构

2、Spark Streaming与Storm的对比

  1. Spark Streaming和Storm最大的区别在于,Spark Streaming没法实现毫秒级的流计算,而Storm能够实现毫秒级响应。
  2. Spark Streaming构建在Spark上,一方面是由于Spark的低延迟执行引擎(100ms+)能够用于实时计算,另外一方面,相比于Storm,RDD数据集更容易作高效的容错处理。
  3. Spark Streaming采用的小批量处理的方式使得它能够同时兼容批量和实时数据处理的逻辑和算法,所以,方便了一些须要历史数据和实时数据联合分析的特定应用场合。

3、从“Hadoop+Storm”架构转向Spark架构

 

采用Spark架构具备以下优势oop

  1. 实现一键式安装和配置、线程级别的任务监控和告警;
  2. 下降硬件集群、软件维护、任务监控和应用开发的难度;
  3. 便于作成统一的硬件、计算平台资源池。
相关文章
相关标签/搜索