2、Spark-Streaming的原理

烂漫一生 提交于 2020-03-21 01:53:28

3 月,跳不动了?>>>

一:sparkRDD如何变成了sparkStreaming?

Spark底层是通过Driver端构建SparkRDD来处理数据的,但是SparkRDD处理完成后就退出了。

那么如何才能够让集群中一直有SparkRDD在运行,处理实时发送过来的kafka数据?

Spark提供了一个很简单粗暴的方式

Driver端根据DAG每隔一段时间,不断地往集群中循环发送task,不断的读取kafka对应offset的数据,这样集群中就会不断的有新的SparkRDD在运行,从而形成流式

二:图解

输入图片说明

所有的Spark模块都是基于SparkRDD的

输入图片说明

他们最终都是转化为RDD生成DAG,然后通过DAGScheduler切分stage,最后调用Tasksheduler将stage作为task发送到executor执行。

输入图片说明

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!