这篇文章主要介绍“Spark Streaming中的架构设计和运行机制是什么”,在日常操作中,相信很多人在Spark Streaming中的架构设计和运行机制是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark Streaming中的架构设计和运行机制是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
RDD的模板是DStream,RDD DAG的模板是DStreamGraph,Spark Streaming是在RDD的基础上加上时间维度,在Driver端会启动一个定时器,间隔BatchDuration生成Job,在Executor端会启动一个定时器,间隔200ms把接收到的数据放入BlockManager中,并把元数据信息上报给Driver端的ReceiverTracker,整个程序引擎是无时无刻在运行的。
JobGenerator类中有一个timer对象,其间隔BatchDuration发送GenerateJobs消息来生成Job。
BlockGenerator类中有一个blockIntervalTimer对象,每隔200ms调用updateCurrentBuffer方法,把接收到的数据交给BlockManager进行存储,并向ReceiverTracker上报元数据信息。
RecurringTimer类中的loop方法是一个死循环,一直执行,间隔一定的周期回调传入的方法。
此外,默认的并行度具有遗传性,父RDD的partition个数会遗传给子RDD,当RDD中每个partition中数据较少时,为了提高效率,可以先调用coalesce方法合并到指定的partition个数。Spark Streaming中存在空RDD,即RDD里面没有数据,此时也会生成Job,Job的生成是定时触发的,不关心RDD中是否有数据,这是为了使整个框架能正常运行。
到此,关于“Spark Streaming中的架构设计和运行机制是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注箭头云网站,小编会继续努力为大家带来更多实用的文章!