Spark2.2.0源码阅读 -Dstream

DStream 是一个离散的Stream,是在Spark Streaming中的一个基本的抽象,是一个连续的相同类型RDD的序列。通常是一个连续的数据流。DStream 可以使用StreamingContext通过实时的数据流创建(比如,Tcp Sockets,Kafka,Flume等),也可以使用一些 map、window和reduceByKeyAndWindow产生。当SparkStreaming在运行的时候,每个Dstream 周期性的产生RDD,要么从实时的数据源中要么从父Dstream中。
这个类包含了对所有Datreams基本的操作,比如 map,filter 和window。另外 包含一些只能作用于key-value键值对的操作,比如 groupByKeyAdnWindow,join 等。

DStream 内部有 一下几个主要的属性。这也是Dstream主要的特征:

  • DStream 所依赖的其他DStream的列表。
  • DStream 产生一个RDD的时间间隔
  • 每隔固定时间用来产生一个新的RDD的方法
 /** Time interval after which the DStream generates a RDD */
  def slideDuration: Duration

  /** List of parent DStreams on which this DStream depends on */
  def dependencies: List[DStream[_]]

  /** Method that generates a RDD for the given time */
  def compute(validTime: Time): Option[RDD[T]]
Spark2.2.0源码阅读 -Dstream_第1张图片
image.png

DirectKafkaInputDStream 可以参考我的另一篇笔记
https://www.jianshu.com/p/a23e0052ad52

你可能感兴趣的:(Spark2.2.0源码阅读 -Dstream)