(版本定制)第2课:通过案例对SparkStreaming透彻理解之二

  

本期内容:

1解密火花流运行机制

2解密火花流架构

一切不能进行实时流处理的数据都是无效的数据。在流处理时代,SparkStreaming有着强大吸引力,而且发展前景广阔,加之火花的生态系统,流可以方便调用其他的诸如SQL, MLlib等强大框架,它必将一统天下。

火花流运行时与其说是火花核心上的一个流式处理框架,不如说是火花核心上的一个最复杂的应用程序。如果可以掌握火花流这个复杂的应用程序,那么其他的再复杂的应用程序都不在话下了。这里选择火花流作为版本定制的切入点也是大势所趋。

(版本定制)第2课:通过案例对SparkStreaming透彻理解之”二> </p> <p>我们知道火花核心处理的每一步都是基于抽样的,抽样之间有依赖关系上。图中的抽样的DAG显示的是有3个动作,会触发3个工作,抽样自下向上依赖,抽样产生的工作就会具体的执行。从DSteam图中可以看的到,DStream的逻辑与抽样基本一致,它就是在抽样的基础上加上了时间的依赖.RDD的DAG又可以叫空间维度,也就是说整个火花流多了一个时间维度,也可以成为时空维度。</p> <p>从这个角度来讲,可以将火花流放在坐标系中。其中Y轴就是对抽样的操作,抽样的依赖关系构成了整个工作的逻辑,而X轴就是时间。随着时间的流逝,固定的时间间隔(批间隔)就会生成一个工作实例,进而在集群中运行。</p> <p> <img src=

从这里可以看的出,DStream就是火花流的核心,就想火花核心的核心是抽样,它也有依赖和计算。更为关键的是下面的代码:

(版本定制)第2课:通过案例对SparkStreaming透彻理解之”二> </p> <p>这是一个HashMap,以时间为关键,以抽样为价值,这也正应证了随着时间流逝,不断的生成抽样,产生依赖关系的工作,并通过jobScheduler在集群上运行。再次验证了DStream就是抽样的模版。</p> <p> DStream可以说是逻辑级别的,抽样就是物理级别的,DStream所表达的最终都是通过抽样的转化实现的。前者是更高级别的抽象,后者是底层的实现.DStream实际上就是在时间维度上对抽样集合的封装,DStream与抽样的关系就是随着时间流逝不断的产生抽样,对DStream的操作就是在固定时间上操作抽样。</p> <p> <br/> </p> <p>总结:</p> <p>在空间维度上的业务逻辑作用于DStream,随着时间的流逝,每批间隔个形成了具体的数据集,产生了抽样,对抽样进行变换操作,进而形成了抽样的依赖关系抽样DAG,形成工作,然后jobScheduler根据时间调度,基于抽样的依赖关系,把作业发布到集群上火花去运行,不断的产生火花作业。</p> <p>
  </p><h2 class=(版本定制)第2课:通过案例对SparkStreaming透彻理解之二