Spark任务调度

本文深入探讨Spark任务调度,解析Spark的专业术语如Application、Job、Stage和Task,阐述RDD的依赖关系及其作用,理解任务调度流程,并针对Spark计算过程中的内存消耗、数据落地、推测执行等关键问题进行分析与解答。
摘要由CSDN通过智能技术生成

一、spark任务调度知识点

1、Spark中的一些专业术语

1.1、任务相关

Application:用户写的应用程序(DriverProgram +ExecutorProgram)。
Job:一个action类算子触发的操作。
stage:一组任务,例如:map task。
task:(thread)在集群运行时,最小的执行单元。

1.2、资源相关

Mstaer:资源管理主节点。
Worker:资源管理从节点。
Executor:执行任务的进程。
ThreadPool:线程池(存在于Executor进程中)

2、RDD的依赖关系

2.1、窄依赖

父RDD与子RDD,partition之间的关系是一对一,这种依赖关系不会有shuffle(父RDD不知道有几个子RDD,但是子RDD一定知道他的父RDD)

2.2、宽依赖

父RDD与子RDD是一对多,一般都会导致shuffle。默认情况下,groupByKey返回的RDD的分区数与父RDD是一致的,如果再使用groupByKey的时候,传入一个int类型的值,此时返回的RDD的分区数就是这个值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值