Master和Worker
在Spark中,Master是独立集群的控制者,而Worker是工作者。一个Spark独立集群需要启动一个Master和多个Worker。Worker就是物理节点,可以在上面启动Executor进程。
Executor
在每个Worker上为某应用启动的一个进程,该进程负责运行Task,并且负责将数据存在内存或者磁盘上,每个任务都有各自独立的Executor。Executor是一个执行Task的容器。实际上它是一组计算资源(cpu核心、memory)的集合。
一个Worker节点可以有多个Executor。一个Executor可以运行多个Task。
executor创建成功后,在日志文件会显示如下信息: INFO Executor: Starting executor ID [executorId] on host [executorHostname]
Job
一个Job包含多个RDD及作用于相应RDD上的各种操作,每个Action的触发就会生成一个job。用户提交的Job会提交给DAGScheduler,Job会被分解成Stage,Stage会被细化成Task。
Task
被发送到executor上的工作单元。每个Task负责计算一个分区的数据。
Stage
在 Spark 中,一个作业(job)会被划分为多个阶段(stage)。同一个 Stage 可以有多个 Task 并行执行(task 数=分区数)。
阶段之间的划分是根据数据的依赖关系来确定的。当一个 RDD 的分区依赖于另一个 RDD 的分区时,这两个 RDD 就属于同一个阶段。当一个 RDD 的分区依赖于多个 RDD 的分区时,这些 RDD 就属于不同的阶段。
标签:总结,Task,分区,Worker,RDD,Job,Executor,今日 From: https://www.cnblogs.com/zhaoyueheng/p/18035699