第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming

感谢DT大数据梦工厂支持提供以下内容,
DT大数据梦工厂专注于Spark发行版定制。详细信息请查看
联系邮箱[email protected]
电话:18610086859
QQ:1740415547
微信号:18610086859

上节课通过降维的方式宏观整个spark streaming的运行的过程,spark-streaming其本质是构建在spark-core之上的一个应用程序,如果要构建自己的框架,spark-streaming是一个范例.

streaming的计算集合是Dstream,core的计算集合是rdd,那么两者有什么关联呢?

  1. DStream是逻辑级别的,而RDD是物理级别的。DStream是随着时间的流动内部将集合封装RDD。对DStream的操作,转过来对其内部的RDD操作。

  2. 如下图
    第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming_第1张图片

纵轴为空间维度:代表的是RDD的依赖关系构成的具体的处理逻辑的步骤,是用DStream来表示的。
横轴为时间维度:按照特定的时间间隔不断地生成job对象,并在集群上运行。
随着时间的推移,基于DStream Graph 不断生成RDD Graph ,也即DAG的方式生成job,并通过Job Scheduler的线程池的方式提交给spark cluster不断的执行。
注意:纵轴维度需要RDD,DAG的生成模板,需要TimeLine的job控制器横轴维度(时间维度)包含batch interval,窗口长度,窗口滑动时间等。

总结:RDD与DStream的关系如下

(1). RDD是物理级别的,而 DStream 是逻辑级别的

(2). DStream是RDD的封装类,是RDD进一步的抽象

(3). DStream 是RDD的模板。DStream要依赖RDD进行具体的数据计算

你可能感兴趣的:(第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming)