Spark Streaming运行流程及源码解析(一)

本文详细介绍了Spark Streaming的运行流程,从启动流处理引擎到接收、存储、处理数据,再到输出数据的整个过程。重点解析了StreamingContext、DStream、JobScheduler等关键类的作用,并提到了接收数据时BlockGenerator的批处理机制。此外,文章还概述了JobGenerator如何生成和执行job,并提及了输出数据的步骤。
摘要由CSDN通过智能技术生成

本系列主要描述Spark Streaming的运行流程,然后对每个流程的源码分别进行解析

之前总听同事说Spark源码有多么棒,咱也不知道,就是疯狂点头。今天也来撸一下Spark源码。

对Spark的使用也就是Spark Streaming使用的多一点,所以就拿Spark Streaming开涮。
搞起

源码中的一些类

这里先列举一些源码中的类,大家先预热一下。

StreamingContext:这是Spark Streaming程序的入口,提供了运行时上下文环境

DStream:是RDD在Spark Streaming中的实现,是连续的RDD(相同类型)序列,表示连续的数据流

JobScheduler:生成和调度job

DStreamGraph:保存DStream之间的依赖关系

JobGenerator:根据DStream依赖生成job

ReceiverTracker:Driver端用于管理ReceiverInputDStreams执行的管家

EventLoop:一个事件循环,用于接收来自调用方的事件并处理事件线程中的所有事件。它将启动一个专用事件线程来处理所有事件。内部使用LinkedBlockingDeque实现。

RecurringTimer:相当于一个定时器,定时执行某个函数

ReceiverSupervisor:Executor端管理Receiver的管家

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值