1、Driver:运行应用程序的main函数,并创建SparkContext进程。初始化SparkContext是为了准备Spark应用程序的运行环境,在Spark中由SparkContext负责与集群进行通信,并进行资源的申请、任务的分配和监控等。当Worker节点中的Executor部分运行完毕后,Driver同时负责将SparkContext关闭。
2、Executor:在Worker节点中,是Driver进程申请完资源后,被Spark应用所启动的一个进程,它可以运行task,也可以在内存或者磁盘中保存数据,每一个应用都有独立的Executor。
3、ClusterManager:在集群上获取资源的拓展服务,目前spark主要支持三种类型——standalone、mesos、yarn
4、Worker:集群中任何可以运行Spark应用的节点,在standalone模式中是指spark的conf目录下的slave文件配置的worker节点,在yarn模式中指的是nodemanager节点。
5、Task:一个可以发给Executor执行的工作单位,是运行spark应用的基本单元
6、Job:由Spark的action操作触发,在spark中通过runJob方法向spark集群提交Job
7、Stage:每个Job因为RDD之间的依赖关系会被拆分为多个task的集合,即stage。stage是由DAGScheduler来完成的。stage有Shuffle Map Stage和Result Stage两种。
8、DAGScheduler:面向stage的任务调度器,负责接收spark应用提交的Job,会根据RDD的依赖关系划分stage,并将stage提交到TaskScheduler。
9、TaskScheduler:面向Task的任务调度器,它会接收DAGScheduler提交过来的TaskSets(Task集合即stage),然后把一个个task提交到work节点运行,每个Executor运行什么task就是在此处进行分配的。
10、RDD:弹性分布式数据集,是Spark的编程模型,它被表示为已被分区、被序列化的、不可变的、有容错机制的,并能够并行操作的数据集合。
对Spark中一些基础概念的了解
最新推荐文章于 2023-06-23 15:04:28 发布