大三寒假学习 spark学习 spark运行架构

基本概念:

  • RDD:是Resillient Distributed Dataset(弹性分布式数据集)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型
  • DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系
  • Executor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task
  • Application:用户编写的Spark应用程序
  • Task:运行在Executor上的工作单元
  • Job:一个Job包含多个RDD及作用于相应RDD上的各种操作
  • Stage:是Job的基本调度单位,一个Job会分为多组Task,每组Task被称为Stage,或者也被称为TaskSet,代表了一组关联的、相互之间没有Shuffle依赖关系的任务组成的任务集

Spark运行架构:

  

 

架构设计:

  与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:

  • 利用多线程来执行具体的任务,减少任务的启动开销
  • Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,有效减少IO开销

 

 Spark中各种概念之间的相互关系:

一个Application由一个Driver和若干个Job构成,一个Job由多个Stage构成,一个Stage由多个没有Shuffle关系的Task组成

当执行一个Application时,Driver会向集群管理器申请资源,启动Executor,并向Executor发送应用程序代码和文件,然后在Executor上执行Task,运行结束后,执行结果会返回给Driver,或者写到HDFS或者其他数据库中

posted @ 2022-01-18 21:31  风吹过半夏  阅读(42)  评论(0编辑  收藏  举报