StreamingContext在实例化时候会创建DStreamGraph、JobGenerator、JobScheduler
下面组件运行在Driver
1.JobGenerator:
通过timmer根据固定时间间隔(Batch Interval)不断的产生Job
(其实此时的Job相当于java的Runnable类型实例),Job会提交给JobScheduler
2.JobScheduler:
接收到Job后会通过线程池的方式提交给SparkCluster执行
3.ReceiverTracker:
下面组件运行在Executor
3.KafkaReceiver:
根据设定的Batch Interval不断的通过(多)线程获取kafka中的数据,然后通过BlockManager存储到Executor,为了数据安全,采用WAL(writer ahead log)
本文介绍了StreamingContext的核心组件及其工作原理。详细解释了JobGenerator如何根据固定时间间隔生成任务并提交给JobScheduler,以及JobScheduler如何调度这些任务在Spark集群中执行。此外,还提到了ReceiverTracker和KafkaReceiver的作用,特别是在数据接收与存储方面。
5017

被折叠的 条评论
为什么被折叠?



