一: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执行。