码迷,mamicode.com
首页 > 其他好文 > 详细

SparkStreaming基础理论

时间:2019-01-06 22:04:55      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:体系   type   ext   拆分   覆盖   win   stat   each   时间间隔   

一、Spark Streaming的介绍

(1)为什么要有Spark Streaming?

   Hadoop 的 MapReduce 及 Spark SQL 等只能进行离线计算,无法满足实时性要求较高的业务 需求,例如实时推荐、实时网站性能分析等,流式计算可以解决这些问题。目前有三种比较 常用的流式计算框架,它们分别是 Storm,Spark Streaming 和 fink。

(2)Spark Streaming是什么?

技术分享图片
   Spark Streaming,其实就是一种Spark提供的,对于大数据,进行实时计算的一种框架。它的底层,其实,也是基于我们之前讲解的Spark Core的。基本的计算模型,还是基于内存的大数据实时计算模型。而且,它的底层的核心组件还是我们在Spark Core中经常用到的RDD。针对实时计算的特点,在RDD之上,进行了一层封装,叫做DStream。其底层还是基于RDD的。所以,RDD是整个Spark技术生态中的核心。
   Spark streaming支持的数据输入源很多,如:Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。数据输入后可以用spark的高度抽象语:map、reduce、join、window 等进行运算。而结果也能保存在很多地方。如HDFS, 数据库等。另外,spark streaming也能和MLlib(机器学习)以及 Graphx 完美融合。

(3)Spark Streaming的优势

易用
技术分享图片
容错
技术分享图片
与spark体系无缝整合
技术分享图片

二、Spark Streaming的核心概念

技术分享图片
   接收实时输入数据流,然后将数据拆分成多个batch,比如每收集1秒的数据封装为一个batch,然后将每个batch交给Spark的计算引擎进行处理,最后会生产出一个结果数据流,其中的数据,也是由一个一个的batch所组成的。

(1)相关术语介绍:

  离散流DStream:这是spark streaming对内部持续的实时数据流的抽象描述,即我们处理的一个实时数据,在sparkstreaming中对应一个DStream实例。
  批数据:这是化整为零的第一步,将实时数据抽象,以时间片为单位进行分批,将流处理转化为时间片,数据的批处理,随着持续时间的推移,这些处理结果就形成了对应的结果数据流。
  时间片或批处理时间间隔:人为地对流数据进行定量的标准,以时 间片作为我们拆分流数据的依据。一个时间片的数据对应一个 RDD 实例。
技术分享图片
窗口长度:一个窗口覆盖的数据流的时间长度,必须是批处理时间间隔的倍数
滑动周期:前一个窗口到后一个窗口所经过的时间长度,必须是批处理时间间隔的倍数
  InputDStream:一个 InputDStream 是一个特殊的 DStream,表示第一次被加载到实时数据流中的原始数据。

(2)DStream的相关介绍:

技术分享图片
  Discretized Stream 是 Spark Streaming 的基础抽象,代表持续性的数据流和经过各种 Spark 原 语操作后的结果数据流。在内部实现上,DStream 是一系列连续的 RDD 来表示。DStream 是 连续数据的离散化表示,DStream 中每个离散片段都是一个 RDD,DStream 可以变换成另一 个 DStream。
  DStream对数据的操作也是按照RDD为单位来进行的:
技术分享图片

1)DStream的相关操作:

  DStream上的原语与RDD类似,分为:Transformations(转换)和Output Operations(输出,类似于action)。
由于DStream的操作与RDD极为类似,而且DStream底层就是封装的RDD,所以这里简单的介绍一下Transformations。
技术分享图片
注意:Transformations操作中有几个极为重要的操作:updateStateByKey()、transform()、window()、foreachRDD()。以后的博文中为详细介绍。

SparkStreaming基础理论

标签:体系   type   ext   拆分   覆盖   win   stat   each   时间间隔   

原文地址:http://blog.51cto.com/14048416/2339445

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!