DStream的基本概念
概述
Dstream(Discretized Stream)是Spark Streaming数据的基本传输单位。它表示一个连续的数据流,这个数据流可以是原始的数据输入流,也可以是将原始的数据输入流通过转换生成已处理的数据输入流
特点
- Spark Streaming对流数据按秒/分等时间间隔进行微批划分,每个微批就是一个RDD
- DStream由一系列连续的RDD组成,每个RDD都包含来自特定间隔的数据
- DStream本质上就是一系列时间上连续的RDD(DStream = Seq[RDD])
对DStream进行操作
因为DStream是由一系列的RDD组成的,所有对DStream就是对RDD操作
对RDD操作会返回新的RDD,所以对DStream操作也会返回新的DStream
DStream的容错
RDD之间存在依赖关系,DStream间也有依赖关系
RDD具有容错性,那么DStream也有容错性
上图相关说明:
- 每一个椭圆表示一个RDD
- 椭圆形中的每个圆形代表一个RDD中的一个Partition分区
- 每一列的多个RDD表示一个DStream(图中有三列所以有三个DStream)
- 每一行最后一个RDD表示每一个Batch Size所产生的中间结果RDD
DSteam的API
大多数Transformation和Action/Output和 之前的RDD的一样使用, 少部分不一样的通过案例讲解