stream的job的产生

来源:互联网 发布:悟空传中的网络元素 编辑:程序博客网 时间:2024/06/05 17:39

Stream中Job的生成

大家可以通过参考spark的官网快速的开发一个属于自己的spark stream程序,然后提交job到指定的spark集群完成流任务的运行;或者直接通过local模式在本地环境中运行,但却很少有人能够清楚的叙述其运行的原理,本文将着重介绍streaming的程序是如何生成job的,对于job的调度、stage的拆分、task的运行将会在后续的章节中一一为大家介绍。

从前面的文章或者一些其他的参考资料中可以知道,streaming是利用了spark core的相关job的机制完成流式的处理,总结为一点就是streaming会周期性的生成一些job,然后提交这些job到JobScheduler中的streaming-job-executor等待运行,其中没一个流在一个周期内均会生成一个job,不同的job组成一个JobSet,作为一个Batch的内容。

这里写图片描述

JobGenerator中的RecurringTimer会按照batchTime周期性的为注册到SparkContext中的DstreamGraph的所有dstream生成job,具体的详细流程可以直接参考流程图;上述的图中并为描写job的执行过程,其中的RDD的checkpoint也是在job执行成功后进行的,但是在dsteam生成RDD后会根据checkpointDuration的来初始化一些checkpoint所需要的元数据信息

0 0
原创粉丝点击