Spark Streaming源码解读之Receiver生成全生命周期彻底研究和思考
本期内容 :
- Receiver启动的方式设想
- Receiver启动源码彻底分析
多个输入源输入启动,Receiver启动失败,只要我们的集群存在就希望Receiver启动成功,运行过程中基于每个Teark启动都有可能运行失败。
启动一个应用程序的不同Receiver采用一个不同RDD的partion代表不同的Receiver ,然后启动的时候不同的partion执行层面是不同的Teark ,每个Teark启动的时候就真正的启动一个Receiver。
优点: 这种比较简单,就是使用Spark Core上的一个Job方式,简单并巧妙。
弊端:可能会失败,运行过程中这个Receiver失败就会影响执行,Job会失败,应用程序就会失败
源数据输入流程源码:



Receiver的启动流程源码 :




基于ReceiverInputDStreams来获取Receiver实例,ReceiverInputDStreams是来自于Driver 端,Spark提出的一个上层的抽象,Spark Streaming作业运行的时候是RDD的一个,对象代表了一切输入流,称源对象。
Receiver是逻辑级别的,然后把他们分布到worker节点上,之后在物理层面上运行,并运行在worker集合之上。




循环接收所有数据 :

数据的endpoint操作源码 :



调用StartReceiver :




Spark Streaming源码解读之Receiver生成全生命周期彻底研究和思考的更多相关文章
- Spark Streaming源码解读之生成全生命周期彻底研究与思考
本期内容 : DStream与RDD关系彻底研究 Streaming中RDD的生成彻底研究 问题的提出 : 1. RDD是怎么生成的,依靠什么生成 2.执行时是否与Spark Core上的RDD执行有 ...
- Spark Streaming源码解读之JobScheduler内幕实现和深度思考
本期内容 : JobScheduler内幕实现 JobScheduler深度思考 JobScheduler 是整个Spark Streaming调度的核心,需要设置多线程,一条用于接收数据不断的循环, ...
- Spark Streaming源码解读之流数据不断接收和全生命周期彻底研究和思考
本节的主要内容: 一.数据接受架构和设计模式 二.接受数据的源码解读 Spark Streaming不断持续的接收数据,具有Receiver的Spark 应用程序的考虑. Receiver和Drive ...
- 15、Spark Streaming源码解读之No Receivers彻底思考
在前几期文章里讲了带Receiver的Spark Streaming 应用的相关源码解读,但是现在开发Spark Streaming的应用越来越多的采用No Receivers(Direct Appr ...
- Spark Streaming源码解读之Job动态生成和深度思考
本期内容 : Spark Streaming Job生成深度思考 Spark Streaming Job生成源码解析 Spark Core中的Job就是一个运行的作业,就是具体做的某一件事,这里的JO ...
- Spark Streaming源码解读之流数据不断接收全生命周期彻底研究和思考
本期内容 : 数据接收架构设计模式 数据接收源码彻底研究 一.Spark Streaming数据接收设计模式 Spark Streaming接收数据也相似MVC架构: 1. Mode相当于Rece ...
- 16.Spark Streaming源码解读之数据清理机制解析
原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/) 本期内容: 一.Spark Streaming 数据清理总览 二.Spark Streami ...
- 11.Spark Streaming源码解读之Driver中的ReceiverTracker架构设计以及具体实现彻底研究
上篇文章详细解析了Receiver不断接收数据的过程,在Receiver接收数据的过程中会将数据的元信息发送给ReceiverTracker: 本文将详细解析ReceiverTracker的的架构 ...
- Spark Streaming源码解读之No Receivers彻底思考
本期内容 : Direct Acess Kafka Spark Streaming接收数据现在支持的两种方式: 01. Receiver的方式来接收数据,及输入数据的控制 02. No Receive ...
随机推荐
- 通过j-interop访问WMI实例代码
代码: import java.net.UnknownHostException; import java.util.logging.Level; import org.jinterop.dcom.c ...
- HOW TO BE SINGLE 最后那段的摘录
我一直在思考我们不得不单身的时间这个时间我们需要擅长一个人独处但是有多少独处的状态是我们想要拥有的呢难道不是件很危险的事情吗当你适应状态并且如鱼得水的时候所以当你安定下来 你就会与某人擦肩而过吗 有些 ...
- linux命令:whereis
1.命令介绍: whereis用来查找二进制文件,源代码文件和帮助说明文件,whereis是在系统的数据库文件中查找,所以速度非常快,但是系统的文件数据库不是实时更新的,默认一个星期更新一次. 2.命 ...
- 开发经验之状态机思想,分别使用了swift,OC,C,PHP语言实现
这里设计一个简单的练习,使用状态机思想实现,分别使用了swift,OC,C,PHP语言实现 题目:1到10000遍历,开始-打印奇数-遇到7的倍数开始打印偶数--遇到10的倍数打印奇数 //部分结 ...
- mudOS源码 options.h配置详细选项
/* options.h配置详细选项—————————————————————————-将 MudOS 下载解压以后可以在相应目录的根目录中找到 options.h 这个文件.如果修 改了这个文件,那 ...
- SQLite建表并添加数据
- js中的this指针(四)
当一个函数前面加上 new 操作符来调用,此时 this 会被绑定到新生成的对象上. 这既是所谓的构造函数调用模式.
- [Eclipse] - 集成JBoss7热加载和自动发布
使用Eclipse + JBoss开发时,总是要重启项目或JBoss,烦人.下面方法可以很简单的实现Eclipse + JBoss热加载和自动发布. 我的环境是JBoss 7.1.1 Final 1) ...
- c#上iOS apns p12文件制作记录 iOS推送证书制件
前期一些准备工作可参考:http://jingyan.baidu.com/article/7082dc1c6bb86de40a89bd1a.html 1.在桌面上建一个"apns_p12&q ...
- PHP中float变量转换为int时,结果有误的问题!
先上例子: <?php $money = 100; $rate = 1.15; $result = $money * $rate; var_dump( intval( $result ) ); ...