spark运行流程概述
- 用户通过spark-submit脚本提交应用
- spark-submit脚本启动Driver驱动器程序,调用用户定义的main()方法并创建SparkContext.创建的目的是为了初始化Spark的运行环境。
- Driver向ClusterManager申请资源以启动Executor执行器节点
- ClusterManager为Dirver启动Executor
- Driver根据程序中对RDD的转化操作和行动操作分解成task分发给Executor进程
- task在Executor中计算并保存结果
- Driver中程序的main()方法执行完毕或调用SparkContext.stop(),Driver会终止Executor进程
- Driver通知ClusterManager释放资源