062 SparkStream内部运行原理

1.DStream

  内部是一系列的RDD组成的,每个RDD与RDD的产生时间形成一个pair保存在内存中(下面有)

  RDD包含了对应时间段的所有block数据。

2.DStream下的方法 

/** 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[_]]
=》DStream的依赖

/** Method that generates a RDD for the given time */
def compute(validTime: Time): Option[RDD[T]]
=》获取对应时间对应的RDD对象

3.RDD的产生,存储

// RDDs generated, marked as private[streaming] so that testsuites can access it
@transient
private[streaming] var generatedRDDs = new HashMap[Time, RDD[T]] ()

4.RDD的销毁

// Duration for which the DStream will remember each RDD created
private[streaming] var rememberDuration: Duration = null
=》RDD的存留时间,对于不会再执行的RDD
当RDD已经执行过一次,而且创建时间超过rememberDuration的时候,RDD从map中删除。
默认情况下,值是slideDuration的两倍。

  

猜你喜欢

转载自www.cnblogs.com/juncaoit/p/9446178.html
062
今日推荐