63、Spark Streaming:架构原理深度剖析

一、架构原理深度剖析

image

StreamingContext初始化时,会创建一些内部的关键组件,DStreamGraph,ReceiverTracker,JobGenerator,JobScheduler,DStreamGraph,
我们程序中定义很多DStream,中间用很多操作把这些DStream给串起来,这些DStream之间的依赖关系,就是所谓的DStreamGraph,
然后调用StreamingContext.start()方法;

调用StreamingContext.start()方法的时候,会去Spark集群中的某个Worker节点上的Executor,启动输入DStream(比如JavaReceiverDStream)的Receiver;

StreamingContext的初始化,Receiver的启动,就完成了SparkStreaming应用程序的准备工作;

Receiver负责数据接收,Receiver从数据源读取数据,Receiver接收到数据之后,就会先将数据保存到它运行的Executor关联的BlockManager中,
除了会将数据保存在BlockManager中,还会发送一条数据的信息,到StreamingContext的ReceiverTracker中;

JobGenerator--每隔我们定义的batch间隔,就会去ReceiverTracker中,获取一次时间间隔内的数据信息,然后将数据创建为一个RDD,每个batch对应一个RDD,
这个RDD,也就是DStream中的一个时间段对应的一个RDD;

根据DStreamGraph定义的算子和各个DStream之间的依赖关系,去生成一个job,job的初始RDD,就是刚才创建的batch对应的RDD,然后通过JobScheduler提交job;

转载于:https://www.cnblogs.com/weiyiming007/p/11382685.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值