spark应用运行大体流程
1 用户通过spark-submit脚本提交应用
2 spark-submit脚本启动驱动器程序,调用用户定义的main()方法
3 驱动器程序与集群管理器通信,申请资源以启动执行器节点
4 集群管理器为驱动器程序启动执行器节点
5 驱动器进程执行用户应用中的操作。根据程序中所定义的对RDD的转化操作和行动操作,驱动器节点把工作以任务的形式发送到执行器进程
6 任务在执行器程序中进行计算并保存结果
7 如果驱动器程序的main()方法退出,或者调用了SparkContext.stop(),驱动器程序会终止执行器进程,并且通过集群管理器释放资源