DriverApplication 的执行与输出都是通过 SparkContext 来完成, 在正式提交之前,首先启动 SparkContext , sparkContext 隐藏了网络通新,分布式部署,消息通信,存储能力, 计算能力, 缓存能力,文件服务,web 服务等,应用程序开发者只需要使用 SparkContext 提供的 API 进行开发
SparkContext的初始化
1),TaskScheduler(通过与它对应的进程连接Mater,向Master注册Application)
2),DAGScheduler 为每一个job创建一个stage,每一个stage会创建一个 Taskset
3),SparkUI显示 Applation的运行状态,启动一个jetty服务器提供web服务
2.4版本 submit 提交流程
ApplicationDescription:
spark-submit 指定的配置信息 代表了当前执行的 Application 信息
TaskSchedulerImpl:
1, 通过 SchedulerBackend ,针对不同的 cluster(standalone,yarn,mesos),调度 task
2, 可以通过 使用 一个 LocalBackend, 将 isLocal 设置为 true, 来支持本地模式工作
3, 负责处理通用的逻辑, 决定多个 job 调度顺序(调度池(先入先出等)), 可以推测任务执行