Spark的作业提交过程大致分为以下几个步骤:

  1. 构建SparkConf对象

SparkConf类是Spark的配置类,用于配置Spark应用的各种属性,例如应用名称、运行模式、Master地址、Executor内存等。在提交作业之前,需要通过SparkConf对象来配置相关属性。

  1. 构建SparkContext对象

SparkContext类是Spark应用的入口点,用于与集群进行通信,创建RDD、累加器、广播变量等。在构建SparkContext对象时,需要将SparkConf对象作为参数传入。

  1. 创建RDD

在Spark中,RDD是一种抽象数据类型,代表一个不可变的分布式数据集。在创建RDD时,可以通过读取文件、从内存中创建、从其他RDD中转换等方式来实现。

  1. 创建作业

Spark应用中的作业是由一系列的RDD操作组成的。在创建作业时,需要将RDD转换操作和行动操作组合在一起形成一个DAG(有向无环图)。

  1. 提交作业

在提交作业之前,需要将作业DAG序列化成一个二进制文件,并将其上传到Master节点上。Master节点会对作业进行调度,将其分配到可用的Worker节点上执行。

  1. 执行作业

Worker节点接收到作业后,会根据作业DAG中的依赖关系,按顺序执行各个RDD操作。在执行过程中,Spark会自动进行任务调度、数据分区、数据缓存等优化,以提高作业的性能和效率。

  1. 输出结果

当作业执行完成后,Spark会将结果写回到本地文件系统或HDFS中。可以通过SparkContext对象提供的各种行动操作(例如collect、count、reduce等)来获取作业的计算结果。

spark 源码解析 job 提交过程

原文地址: https://www.cveoy.top/t/topic/uXu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录