(版本定制)第10课:Spark Streaming源码解读
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本期内容:1、数据接收架构设计模式2、数据接收源码彻底研究1、Receiver接受数据的过程类似于MVC模式:Receiver,ReceiverSupervisor和Driver的关系相当于Model
千家信息网最后更新 2026年11月02日(版本定制)第10课:Spark Streaming源码解读
本期内容:
1、数据接收架构设计模式
2、数据接收源码彻底研究
1、Receiver接受数据的过程类似于MVC模式:
Receiver,ReceiverSupervisor和Driver的关系相当于Model,Control,View,也就是MVC。
Model就是Receiver,存储数据Control,就是ReceiverSupervisor,Driver是获得元数据,也就是View。

2、数据的位置信息会被封装到RDD里面。
3、Receiver接受数据,交给ReceiverSupervisor去存储数据。
4、ReceiverTracker是通过发送一个又一个的Job,每个Job只有一个Task,每个Task里面就只有一个ReceiverSupervisor,用这个函数启动每一个Receiver。
下面我们简单的看下Receiver启动流程,应用程序首先通过JobScheduler的start方法来启动receiverTracker的start方法:
def start(): Unit = synchronized {if (eventLoop != null) return // scheduler has already been startedlogDebug("Starting JobScheduler")eventLoop = new EventLoop[JobSchedulerEvent]("JobScheduler") {override protected def onReceive(event: JobSchedulerEvent): Unit = processEvent(event)override protected def onError(e: Throwable): Unit = reportError("Error in job scheduler", e) }eventLoop.start()// attach rate controllers of input streams to receive batch completion updatesfor { inputDStream <- ssc.graph.getInputStreams rateController <- inputDStream.rateController} ssc.addStreamingListener(rateController)listenerBus.start(ssc.sparkContext)receiverTracker = new ReceiverTracker(ssc)inputInfoTracker = new InputInfoTracker(ssc)receiverTracker.start() //receiver启动jobGenerator.start() logInfo("Started JobScheduler")}通过调用receiverTracker.start()方法来进行一系列的操作:
/** Start the endpoint and receiver execution thread. */def start(): Unit = synchronized {if (isTrackerStarted) {throw new SparkException("ReceiverTracker already started") }if (!receiverInputStreams.isEmpty) {endpoint = ssc.env.rpcEnv.setupEndpoint("ReceiverTracker", new ReceiverTrackerEndpoint(ssc.env.rpcEnv)) //Rpc消息通信,获取receiver的状态if (!skipReceiverLaunch) launchReceivers() //启动receiver logInfo("ReceiverTracker started")trackerState = Started}}下面通过画图简单的描述下Receiver启动的内部机制:
参考博客:http://blog.csdn.net/hanburgud/article/details/51471047
http://lqding.blog.51cto.com/9123978/1774426
数据
方法
也就是
只有
就是
模式
存储
源码
位置
信息
内容
函数
博客
应用程序
机制
架构
流程
消息
状态
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
新华互联网科技学校
互联网科技有限公司图片
港股互联网科技股
互联网 科技创新
中国 科技 互联网
互联网科技英文
致聘互联网科技
互联网金融科技平台
甘肃拓世互联网科技有限公司
宁夏众和广鑫互联网科技有限公司
浙江互联网科技研学营
开一家科技互联网公司需要多少钱
互联网科技的全部知识
国大互联网教育科技有限公司薪资
江苏苏星互联网科技有限公司
广州百诚互联网科技有限公司官网
本届互联网大会上的黑科技
西安有哪些互联网高科技企业
互联网企业和网络科技有限公司
喔噻互联网科技有限公司
互联网佳科技有限公司
互联网科技垄断
善班互联网科技
互联网科技公司名称
中国科技互联网公司收入
汽车互联网创新科技园
黑科技 体验场景 互联网大会
雨阳互联网卡科技有限公司
恒生互联网科技趋势