零基础入门Spark
吴磊
FreeWheel 机器学习研发经理
新⼈⾸单¥59
874 人已学习
课程目录
已更新 7 讲 / 共 33 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 入门Spark,你需要学会“三步走”
免费
基础知识 (6讲)
01|Spark:从“大数据的Hello World”开始
02 | RDD与编程模型:延迟计算是怎么回事?
03 | RDD常用算子(一):RDD内部的数据转换
04 | 进程模型与分布式部署:分布式计算是怎么回事?
05 | 调度系统:DAG、Stages与分布式任务
06 | Shuffle管理:为什么Shuffle是性能瓶颈?
零基础入门Spark
15
15
1.0x
00:00/00:00
登录|注册

06 | Shuffle管理:为什么Shuffle是性能瓶颈?

你好,我是吴磊。
在上一讲,我们拜访了斯巴克国际建筑集团总公司,结识了 Spark 调度系统的三巨头:DAGScheduler、TaskScheduler 和 SchedulerBackend。相信你已经感受到,调度系统组件众多且运作流程精密而又复杂。
任务调度的首要环节,是 DAGScheduler 以 Shuffle 为边界,把计算图 DAG 切割为多个执行阶段 Stages。显然,Shuffle 是这个环节的关键。那么,我们不禁要问:“Shuffle 是什么?为什么任务执行需要 Shuffle 操作?Shuffle 是怎样一个过程?”
今天这一讲,我们转而去“拜访”斯巴克国际建筑集团的分公司,用“工地搬砖的任务”来理解 Shuffle 及其工作原理。由于 Shuffle 的计算几乎需要消耗所有类型的硬件资源,比如 CPU、内存、磁盘与网络,在绝大多数的 Spark 作业中,Shuffle 往往是作业执行性能的瓶颈,因此,我们必须要掌握 Shuffle 的工作原理,从而为 Shuffle 环节的优化打下坚实基础。

什么是 Shuffle

我们先不急着给 Shuffle 下正式的定义,为了帮你迅速地理解 Shuffle 的含义,从而达到事半功倍的效果,我们不妨先去拜访斯巴克集团的分公司,去看看“工地搬砖”是怎么一回事。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《零基础入门Spark》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部