文章目录
基本概念和架构设计
基本概念
RDD:弹性分布式数据集,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。
DAG:有向无环图,反映RDD之间的依赖关系。
Executor:是运行在工作节点的进程,负责运Task。
Task:运行在Executor上的工作单位,一个Task为一个线程。
Job:一个Job包含多个RDD及作用于相应的RDD上的各种操作。
Stage:是Job的基本调度单位,一个Job会分为多组Task,每组Task被称为Stage,或者也被称为TaskSet,代表了一组关联的,相互之间没有Shuffle依赖关系的任务组成的任务集。
Application:用户编写的Spark应用程序。
架构设计
ClusterManager:集群资源管理器
WorkerNode:运行作业任务的工作节点
Driverprogram:每个应用的任务控制节点
Executor:每个工作节点上负责具体任务的执行进程
优点:
- 利用多线程来执行具体的任务减少任务的具体开销。
- Executor中有一个BlockManager存储模块,会将内存和磁盘共荣作为存储设备,有效减少IO开销。计算的全过程在内存中执行。spark是基于内存计算。 <