Spark Streaming揭秘 Day23 启动关闭源码图解
2016-08-08 21:22
351 查看
Spark Streaming揭秘 Day23
启动关闭源码图解
今天主要分析一下SparkStreaming的启动和关闭过程。从Demo程序出发,主要聚焦在两段代码:
启动代码:
关闭代码:
启动过程
StreamingContext是对SparkContext的封装,是个装饰器模式,相当于给SparkCore化妆。其中最关键的参数是Batch Duration,Driver和Executor上的两个定时器都是基于这个参数。
在构造时创建的关键对象如下:
DStreamGraph,DStream依赖关系构成的有向无环图,rememberDuration可以设置数据存活步长,不太直接使用。
JobScheduler,作业生成之后调度到集群的关键对象。
ContextWaiter,关闭程序时很重要。
progressListener,StreamingJobProcessListener,提供了处理各个进度时点的回调接口,是进行功能定制时主要使用到的。
uiTab,StreamingTab,提供UI的生成。
运行过程
以Demo代码为例,socketTextStream中,会把字节数据变成一行一行的数据。深入进去,我们会发现这个代码并没有在此时执行,而是在后续时使用getNext方法来获取。
关闭过程
如下为关闭方法,可以指定超时时间,超过之后会获得停止。具体关闭是一个等待的过程,当中使用到了两个控制变量,如果没有停止或者错误信号,就会一直循环等待。
所以,对应有两个两种notify方式用来停止处理,分别对应stop和error情况。
小结
最后,我们将启动和关闭的过程用一个状态机来描述一下:欲知后事如何,且听下回分解
DT大数据每天晚上20:00YY频道现场授课频道68917580相关文章推荐
- Spark Streaming揭秘 Day23 启动关闭源码图解
- 第23课:Spark Streaming初始化和关闭源码图解
- Spark Streaming揭秘 Day25 StreamingContext和JobScheduler启动源码详解
- 第25课:spark streaming的streamingContext启动及Jobschedule启动源码图解
- Spark Streaming揭秘 Day25 StreamingContext和JobScheduler启动源码详解
- Spark定制班第23课:Spark Streaming初始化和关闭源码图解
- Spark定制班第25课:Spark Streaming的StreamingContext启动及JobScheduler启动源码图解
- 第23课:Spark Streaming初始化和关闭源码图解
- 第25课:Spark Streaming的StreamingContext启动及JobScheduler启动源码图解
- spark内核揭秘-13-Worker中Executor启动过程源码分析
- Spark学习笔记(24)StreamingContext及JobScheduler源码图解
- Spark Streaming揭秘 Day24 Transformation和action图解
- Spark学习笔记(22)Spark Streaming架构源码图解
- 第16课:Spark streaming 源码解读之数据清理内幕彻底揭秘
- Spark Streaming的Transformation、Action、Input和Output源码图解(第24课)
- 第22课:Spark Streaming架构源码图解
- spark内核揭秘-06-TaskSceduler启动源码解析初体验
- Spark定制班第22课:Spark Streaming架构源码图解
- spark内核揭秘-06-TaskSceduler启动源码解析初体验
- spark内核揭秘-13-Worker中Executor启动过程源码分析