Spark任务提交全流程
时间: 2023-12-31 14:06:47 浏览: 235
Spark.md详细文档
Spark任务提交的全流程包括以下步骤:
1. 编写Spark应用程序代码。
2. 打包应用程序代码,并将其上传到HDFS或本地文件系统。
3. 使用spark-submit命令来提交应用程序。其中,需要指定应用程序的jar包路径、主类名、应用程序使用的资源等信息。
4. Spark Driver程序启动后,会向Cluster Manager申请资源。Cluster Manager会根据当前可用的资源情况向Driver程序分配Executor或Driver Node节点。
5. Driver程序将需要执行的任务划分成多个Stage,并为每个Stage创建一个TaskScheduler,该TaskScheduler会将Task分配给已分配的Executor节点。
6. Executor节点接收到Task后,首先会从BlockManager中读取依赖的数据,并将结果缓存在本地内存或磁盘中。
7. Executor节点完成Task后,将结果写回到BlockManager,供下一个Stage使用。
8. 当所有Task执行完成后,Spark Driver程序会将计算结果写回到HDFS或本地文件系统。
总的来说,Spark任务提交的全流程包括应用程序编写、打包、提交、资源申请、任务划分、Task调度、数据存取和结果输出等多个步骤。
阅读全文