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

07 | RDD常用算子(二):Spark如何实现数据聚合?

你好,我是吴磊。
积累了一定的理论基础之后,今天我们继续来学习 RDD 常用算子。在RDD 常用算子(一)那一讲,我们讲了四个算子 map、mapPartitions、flatMap 和 filter,同时留了这样一道思考题:“这些算子之间,有哪些共同点?”
今天我们就来揭晓答案。首先,在功能方面,这 4 个算子都用于 RDD 内部的数据转换,而学习过 Shuffle 的工作原理之后,我们不难发现,这 4 个算子当中,没有任何一个算子,会引入 Shuffle 计算。
而今天我们要学习的几个算子则恰恰相反,它们都会引入繁重的 Shuffle 计算。这些算子分别是 groupByKey、reduceByKey、aggregateByKey 和 sortByKey,也就是表格中加粗的部分。
我们知道,在数据分析场景中,典型的计算类型分别是分组、聚合和排序。而 groupByKey、reduceByKey、aggregateByKey 和 sortByKey 这些算子的功能,恰恰就是用来实现分组、聚合和排序的计算逻辑。
RDD算子分类表
尽管这些算子看上去相比其他算子的适用范围更窄,也就是它们只能作用(Apply)在 Paired RDD 之上,所谓 Paired RDD,它指的是元素类型为(Key,Value)键值对的 RDD。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《零基础入门Spark》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59
立即订阅
登录 后留言

精选留言

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