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

本期内容:

1,解密 Spark Streaming 运行机制

2,解密 Spark Streaming 架构

解密 Spark Streaming 运行机制和架构

为了形象地说明RDD 与 DStream 之间的关系,我们用图形的方式表示如下:

172940_eNBs_2755933.png

横轴代表时间维度:按照特定的时间间隔不断的生成 Job 的实例,并在集群上运行。

纵轴代表空间维度:代表的是RDD的依赖关系构成的具体的处理逻辑的步骤,是用DStream Graph来表示的。

随着时间的流逝,基于DStream Graph 不断的生成以RDD Graph 也就是DAG的方式生成Job,并通过Job Scheduler的线程池的方式提交给Spark Cluster不断的执行。

由以上可知,RDD 与 DStream 的关系如下:

DStream 是逻辑级别的,而 RDD 是物理级别的,DStream 是 RDD 的更高级别的抽象。

DStream 是 RDD 的模板,DStream的依赖关系构建的DStream Graph 又是 RDD DAG的模板。

注意:空间维度需要 RDD DAG 的生成模板DStreamGraph,需要 TimeLine 的 Job 控制器。

DStream 是 Spark 编程的基本单位。

DStream 就是 RDD 的集合,随着时间的流逝,DStream内部不断的产生RDD,从DStream的源码中可以看到,内部有一个HashMap类型的变量存储了其内部不断产生的RDD。

191054_fKT8_2755933.png

对DStream的 transfrom 操作转过来就是对其内部集合中的RDD进行操作,对RDD的操作又构成了RDD之间的依赖关系,就构成了DAG的依赖关系。而为什么要对RDD进行操作,这是由对DStream的业务逻辑操作即空间维度决定的,空间维度作用于DStream的这样一个集合,随着时间的流逝,每个Batch Interval基于其数据产生的RDD的 transform 操作,进而产生了RDD的DAG依赖关系,然后所谓的JobScheduler根据时间调度基于RDD的依赖关系,把作业发布到Spark集群上去运行,不断地产生Spark作业。

DStream的继承结构如下图所示:

190833_vmpm_2755933.png

 

备注:

更多私密内容,请关注微信公众号:DT_Spark

更多干货请访问微博:http://weibo.com/ilovepains

每晚 20:00 大数据 Spark 技术永久免费公开课,YY频道:68917580

 

 

转载于:https://my.oschina.net/dongjunyi/blog/672425

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值