Spark Streaming

一、Spark Streaming设计

  Spark Streaming可整合多种输入数据源,如Kafka(多框架产品信息交换)、Flume(日志采集系统)、HDFS,TCP套接字。经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里。

1、Spark Streaming的基本原理

  Spark Streaming的基本原理是将实时输入数据流(一般是连续数据流)以时间片(秒级)为单位进行拆分(以秒为单位把数据流分割为数据片段),然后经Spark引擎以类似批处理的方式处理每个时间片数据。

 

  Spark Streaming最主要的抽象是DStream(Discretized Stream,离散化数据流,即数据片段)。在内部实现上,Spark Streaming的输入数据是按照秒级时间片(如1秒)分成一段一段的DStream,每一段DStream数据转换为Spark中的RDD,并且对DStream的操作都最终转变为对相应的RDD的操作。即实现了把数据流的处理转换为多个RDD的批处理。

 二、Spark Streaming与Storm的对比

  1、Spark Streaming和Storm最大的区别在于,Spark Streaming无法实现毫秒级的流计算(秒级流数据分割,实时性只能达到秒级),而Storm可以实现毫秒级响应 
  2、Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+)可以用于实时计算,另一方面,相比于StormRDD数据集更容易做高效的容错处理
  3、Spark Streaming采用的小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法,因此,方便了一些需要历史数据和实时数据联合分析的特定应用场合

posted on 2017-08-05 21:15  ostin  阅读(208)  评论(0)    收藏  举报