第126-134课:Spark Streaming源码经典解读
2017-05-05 16:06
411 查看
Spark Streaming源码经典解读
一:基于DStream的DStreamGraph源码内幕
1、DStream下transformation和action解密2、DStreamGraph内幕源码解密
二:Spark Streaming生成RDD并执行Job源码内幕解密
1、DStream产生RDD的案例实战演示2、DStream作为RDD模板的原理机制
3、常见的DStream生产RDD源码彻底解密
compute
三:JobScheduler工作内幕源码解密
1、JobScheduler、JobGenerator、ReceiverTracker2、JobScheduer源码内幕
3、Spark Streaming Job深度思考和实验
JobGenerator生成作业,JobScheduler调度作业给Spark core。有RDD就有固定的数据源,因此需要BlockManager。使用ReceiverTracker来封装BlockManager
JobScheduler收到作业->JobScheduler启动作业->交给Spark Core->Spark Core把结果给JobScheduler 相当于堆栈调用
Spark core可不可以同时运行多个Job?可以,把每个Job在单独线程中启动。
sparkstreaming中的job 有形,假的不实际运行;spark core 无job,实际在运行。
Spark Streaming默认Job调度方式是FIFO的方式
四:JobGenerator工作内幕源码解密
1、JobGenerator启动源码内幕2、JobGenerator工作源码内幕
3、JobGenerator中关于“半条”数据如何处理?
五:Receiver工作内幕源码解密
1、Receiver完整启动过程源码内幕2、Receiver工作源码内幕
ReceiverTracker和Receiver是master和slave的关系,
Receiver的启动是启动了一个Spark core的job
好处一:确保Receiver一定可以启动
好处二:更平均,一般不在同一个机器启动
六:ReceiverTracker工作内幕源码解密
1、ReceiverTracker启动和工作机制源码内幕解密2、Receiver、ReceiverSupervisor和ReceiverTracker通信内幕
ReceiverTracker在JobScheduler启动的时候启动的
ReceivedBlockTracker
BlockGenerator :
Generates batches of objects received by a
[[org.apache.spark.streaming.receiver.Receiver]] and puts them into appropriately
named blocks at regular intervals. This class starts two threads,
one to periodically start a new batch and prepare the previous batch of as a block,
the other to push the blocks into the block manager.
BlockGenerator,一个线程要不断的从Receiver中接收数据,一个线程按照固定的时间间隔将数据转化成Block,一个线程要将队列中的Block发送给BlockManager
七:Executor容错工作内幕源码解密
1、Spark Streaming Executor高可用容错的几种方式2、Spark Streaming Executor高可用容错源码解析
进程本身的容错叫HA
Slave级别容错的目标:保证数据安全
备份(BlockManager的备份或使用WAL)、重放(从前一步再读一遍,如Kafka)
RDD和具体数据之间适配层。
RDD本身感受不到数据变化
八:Driver容错工作内幕源码解密
1、数据的容错2、驱动的容错
WAL相当于一个序列化和反序列化的过程。数据会写入到WAL中,反之如果有错误会从WAL读取
WAL采用了Rolling的方式,checkpoint相对简单一些
job生成和提交会进行checkpoint
Spark Streaming总结
1、Spark Streaming “魔镜秘境”2、发展中的Spark Streaming
相关文章推荐
- 第132课: Spark Streaming源码经典解读系列之七:Executro容错工作内幕源码解密
- 第130课: Spark Streaming源码经典解读系列之五:Receiver工作内幕源码解密
- 第127课: Spark Streaming源码经典解读系列之二:Spark Streaming生成RDD
- 第131课: Spark Streaming源码经典解读系列之六:ReceiverTracker工作内幕源码解密
- 第128课: Spark Streaming源码经典解读系列之三:JobScheduler工作内幕源
- 第129课:Spark streaming源码经典解读系统之四:GobGenerator工作内幕源码解密
- 第8课:Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考
- (版本定制)第8课:Spark Streaming源码解读之RDD生成生命周期彻底研究和思考
- 第6课:Spark Streaming源码解读之Job动态生成和深度思考
- 第13课:Spark Streaming源码解读之Driver容错安全性
- Spark定制班第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- Spark Streaming源码解读之Receiver在Driver详解
- 第8课:Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考
- 第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- 第9课:Spark Streaming源码解读之Receiver在Driver的精妙实现全生命周期彻底研究和思考
- 第12课:Spark Streaming源码解读之Executor容错安全性
- (版本定制)第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- (版本定制)第6课:Spark Streaming源码解读之Job动态生成和深度思考
- 第8课:Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考
- 第9课:Spark Streaming源码解读之Receiver在Driver的精妙实现全生命周期彻底研究和思考