美文网首页
spark stage划分和其他组件

spark stage划分和其他组件

作者: 星辰fml | 来源:发表于2019-05-21 11:07 被阅读0次

Spark的Stage划分:如果当前计算因子的输入值是确定的,则从为同一个Stage,如果当前的输入因子不是确定的,则划分为另一个Stage,即,如果输入的数据是不确定的,则将此处前面的计算进行分开,后面的从现在开始为一个Stage,如果后面的计算因子中也有这种模式则也需要进行划分

stage划分
  • Application:Spark Application的概念和hadoop MapReduce中类似,指的用户编写的Spark应用程序,包含了一个Driver功能的代码和分布在集群中的多个节点上运行的Executor代码
  • Driver:Spark中的Driver即运行上述Application的main函数并创建SparkContext,其中创建SparkContext是为Spark程序准备环境。在Spark中,SparkContext负责与ClusterManager进行通讯,进行资源的申请、任务分配和监控等,当Executor执行完毕后,Driver负责将SparkContext进行关闭,通常SparkContext就代表Driver
  • Executor:Application运行在worker上的一个进程,该进程负责运行Task,并将任务的数据写入内存或磁盘中,每个Application都有一批独立的一批Executor。在Spark on YARN模式中,其进程名为CoarseGrainedExecutorBackend,类似于Hadoop中的YarnChild。一个CoarseGrainedExecutorBackend有且仅有一个Executor对象。它负责将Task打包成TaskRunner,并在线程池中取出一个空闲线程来运行Task。每个CoarseGrainedExecutorBackend能并行运行Task的数量就取决于分配给它的CPU数量。
  • Cluster Manager:集群上获取资源的外部服务
  • Standalone:Spark原生的资源管理器,由Master进行资源分配
  • Hadoop YARN:由Hadoop的Resources Manager来进行资源分配
  • Worker:集群中任何可以运行Application代码的节点,类似于YARN中的Node Manager在Standalone模式下,指的是Slave文件中指定的Worker节点列表,在Spark on YARN模式下,指的是Node Manager节点。
  • 作业(Job):包含多个Task组成的并行计算,往往由Spark Action(执行操作)进行催生,一个Job包含多个RDD及作用于响应RDD上的各种Operation。
  • 阶段(Stage):每个Job会被拆分很多组的Task,每组任务被称为Stage,也叫做TaskSet,一个作业分为多个阶段。
  • 任务(Task):被发送到Executor的工作任务。
  • DAGScheduler:DAGScheduler把Spark作业转换成Stage的DAG(有向无环图),根据RDD和Stage之间找出开销最小的调度方式。

相关文章

网友评论

      本文标题:spark stage划分和其他组件

      本文链接:https://www.haomeiwen.com/subject/xkudzqtx.html