Spark版本定制八:Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark版本定制八:Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考相关的知识,希望对你有一定的参考价值。

本期内容:

1、DStream与RDD关系彻底研究

2、Streaming中RDD的生成彻底研究

一、DStream与RDD关系彻底研究

课前思考:

RDD是怎么生成的?

RDD依靠什么生成?根据DStream来的

RDD生成的依据是什么?

Spark Streaming中RDD的执行是否和Spark Core中的RDD执行有所不同?

运行之后我们对RDD怎么处理?

ForEachDStream不一定会触发Job的执行,但是它一定会触发job的产生,和Job是否执行没有关系;

 

对于DStream类,源码中是这样解释的。

* DStreams internally is characterized by a few basic properties:
*  - A list of other DStreams that the DStream depends on
*  - A time interval at which the DStream generates an RDD
*  - A function that is used to generate an RDD after each time interval

大致意思是:

1.DStream依赖于其他DStream,除了第一个DStream,因为第一个DStream基于数据源产生,用于接收数据,所以无其他依赖;

2.基于DStream怎么产生RDD?每隔BatchDuration,DStream生成一个RDD;

3.每隔BatchDuration,DStream内部函数会生成RDD;

 

问:DStream到底是怎么产生RDD的?

 

 

 

二、Streaming中RDD的生成彻底研究

generatedRDDs是DStream的成员,说明每个DStream的实例中均有此成员,但是实质在运行的时候指抓住最后一个DStream的句柄。

 

特别感谢王家林老师的独具一格的讲解:

王家林老师名片:

中国Spark第一人

新浪微博:http://weibo.com/ilovepains

微信公众号:DT_Spark

博客:http://blog.sina.com.cn/ilovepains

QQ:1740415547

YY课堂:每天20:00现场授课频道68917580

以上是关于Spark版本定制八:Spark Streaming源码解读之RDD生成全生命周期彻底研究和思考的主要内容,如果未能解决你的问题,请参考以下文章

spark版本定制十八:Spark Streaming中空RDD处理及流处理程序优雅的停止

Spark版本定制第13天:Driver容错

Spark版本定制第10天:流数据生命周期和思考

Spark版本定制第8天:RDD生成生命周期彻底

Spark版本定制第6天:Job动态生成和深度思考

Spark版本定制第7天:JobScheduler内幕实现和深度思考