Spark中Executor、Task、Stage、Job的关系

15 篇文章 0 订阅
6 篇文章 1 订阅
Spark重点关键字
 
 
Application
基于Spark的用户程序。由集群上的Driver program和Executor组成。
Application jar
一个包含用户的Spark应用程序的jar。在某些情况下,用户将希望创建一个包含其应用程序及其依赖项的“uber jar”。
用户的jar不包含Hadoop或Spark库,但是这些库将在运行时添加。
Driver program
该进程运行应用程序的main()函数并创建SparkContext
Cluster manager
用于获取集群上资源的外部服务(例如,standalone manager, Mesos, YARN)
Deploy mode
区分驱动程序进程的运行位置。在“  cluster”模式下,框架在集群内部启动驱动程序。在“ client”模式下,用户在集群外部启动 driver
Worker node
可以在集群中运行应用程序代码的任何节点
Executor
Worker node上的应用程序启动的进程,该进程运行任务并将数据跨任务存储在内存或磁盘存储中。每个应用程序都有自己的执行程序。
Task
发送给某个Executor的工作单元
Job
一种由多个任务组成的并行计算,这些任务对应一些Spark操作(例如 savecollect );可以在Driver 日志中看到job。
Stage
每个 job 都被分为一些较小的任务集,这些任务集就是  stages(类似于MapReduce中的map和reduce阶段),stage是相互依赖的; 可以在Driver 日志中看到Stage
 
想要学习Spark,以上几个关键字是必须要搞懂的,就算不搞懂也要熟知。其中初学Spark最容易混淆或不清楚的就是Executor、Task、Stage、Job的关系,现在我来介绍一下。
         重点:一个action对应一个job,一个job多个stage,划分stage的边界是不同节点取数据,到shuffle结束,一个stage对应多个task,task由dirver发送到executor,task运行在executor中,exector运行在worker node上,exector由dirver在worker node上申请资源创建,application包括driver program和executors。
 
                                 
 
Spark 多线程模型 第一步是构建一个可重用的资源池,然后在这个资源池里运行所有的ShuffleMapTask 和ReduceTask,task是线程的,可以并行
 
                                   
 
  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值