SparkContext是Spark进行应用开发的主要接口,是Spark上层应用与底层实现的中转站。SparkContext最重要的入参是SparkConf。
步骤一: 读取SparkConf参数配置,进行一些基本的参数值的判断赋值。
步骤二: 根据SparkConf创建SparkEnv,包含Spark实例运行时候所需要的所有运行时所有环境变量。
步骤三: 创建TaskScheduler,同时根据Spark运行模式选择 相应的schedulerBackend
createTaskScheduler最关键一步就是根据master属性判断spark运行模式,从而生成对应的schedulerBackend子类。创建的schedulerBackend子类放到TaskScheduler中,后续任务分发有重要作用。TaskScheduler是schedulerBackend的入参。
TaskScheduler启动,schedulerBackend也要启动。
步骤四: 以上一步创建的 TaskScheduler实例为参数,创建DAGScheduler对象。
步骤五: 启动Web UI
总结如下: