Spark-streaming源码走读(一)

继续一下源码的走读啊, 最近看了点别的源代码,发现自己好像一个不会写代码的孩子一样。。。。总觉得自己差了一点什么,但是又说不上来, 只能继续努力了。

继续上一个部分,

start方法

里面有个eventLoop, 估计是监听一堆事件的, command+B ,看下JobSchedulerEvent有什么类型

Event类型
eventLoop内部

看到这里的第一反应是, 里面是用队列来做的,而且长度没限制, 当然也没法限制, 要是队列满了怎么办,是写到硬盘里吗,还是有别的方法?
看了一眼注释,

队列长度说明

扎心了,老铁。。。

process逻辑

代码还是挺清楚的,

两个部件

什么listener的逻辑就不看了,里面太绕, 看着闹心,看下重要的两个,

start

里面的receive方法

receive方法

里面的逻辑就不细看了, 就看两点吧, 一, 有多少个inputstream就有多少个receiver, 二呢,所有的receiver都在相应的executor上。
后面receiver的内容明天继续。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容