Spark Streaming源码分析
KLordy
千里之行始于足下!
展开
-
Spark Streaming的Receiver的那些事儿!
这篇文章主要讲解Spark Streaming启动后,在StreamingContext中启动的ReceiverTracker以及这位大哥管理的Receiver的生成以及发布详细过程。我们先介绍Spark Streaming启动ReceiverTracker的过程,然后再提出一些问题,围绕这些问题对Receiver进行进一步的探索。 Spark Streaming启动时通过JobSched...原创 2018-11-18 20:14:32 · 634 阅读 · 0 评论 -
Spark Streaming每个批次完毕后的清道夫工作分析
本文目标:搞明白每个批次作业运行完毕后,是如何进行清理工作的。 回到提交作业的地方,即JobGenerator的generateJobs这里,沿着这条线顺藤摸瓜找到清理任务的入口,可以看到任务生成成功后会提交任务运行,摸瓜路线:JobGenerator.generateJobs() --> jobScheduler.submitJobSet() --> JobHandler.r...原创 2018-11-22 18:27:07 · 962 阅读 · 0 评论 -
Spark Streaming之Block生成和存储源码解析
这篇文章我们要搞明白的问题有:Block数据是如何生成的Block是如何存储的 上一篇文章已经介绍了Receiver是如何启动的,以及在Executor和Driver运行的ReceiverSupervisor、Receiver、ReceiverTracker之间的劳作关系,但是关于Receiver接收到数据,然后和ReceiverSupervisor之间配合BlockManager...原创 2018-11-20 01:00:52 · 377 阅读 · 0 评论 -
Spark Streaming启动&DStreamGraph源码分析
在github上看到一个十分好的总结:https://github.com/lw-lin/CoolplaySpark, 对Spark Streaming整体的设计思想讲的算是个人见过十分好的了,看完之后有种原来如此,看完之后对整体的架构有了较为清晰的认识,不过由于篇幅问题,这个项目文档中是偏总结和思想的灌输,没有过于追究一些细节内容,本文以及后续将在此基础上进行源码的阅读,对细节进行更多的研究...原创 2018-11-15 19:20:21 · 318 阅读 · 0 评论 -
Spark Streaming批处理job生成流程解析
本篇文章继续上篇关于启动流程分析后进行,上篇中主要介绍了启动流程中主要涉及的JobScheduler和DStreamGraph在启动时的工作,已经知道启动起来之后,主要支撑运作的应该是JobScheduler->JobGenerator->Timer,通过定时器的形式每一个批次进行一次处理,那么每个批次开始定时器发布任务后,一直到当前批次处理完成,中间主要经历了哪些事前呢?对此,本...原创 2018-11-18 15:35:12 · 822 阅读 · 0 评论 -
SparkStreamingのCheckpoint源码分析
本文主要介绍SparkStreaming容错措施中的Checkpoint源码,为了保障应用的容错性,CheckPoint是十分重要的一环,本文来详细介绍SparkStreaming在进行CheckPoint的地方。 首先,我们从任务提交部分开始介绍,我们知道每个批次的任务是通过jobGenerator来生成的,我们围绕任务提交到结束的这个周期中来看哪些地方用到了CheckPoint,之前已...原创 2019-04-08 11:03:05 · 348 阅读 · 0 评论 -
Spark Streaming window函数源码解析
概述 首先,对于window函数的作用可以参考官网介绍,不过官网只是对使用进行了简单的介绍,而对于内部如何实现我们今天想来进行一探究竟!因为只是个人也只是简单的用过,但是依据之前看Spark Streaming实现相关的源码,个人在看源码之前会思考其中应该会怎么实现,window函数的作用就是(窗口范围:windowDuration,滑动频率:slideDuration)每隔slideDura...原创 2019-04-12 17:04:30 · 909 阅读 · 0 评论