零基础入门 Spark
从项目入手,带你深入浅出玩转 Spark
吴磊  前 FreeWheel 机器学习研发经理
专栏
已完结·共 38 讲
|
1.9w 人已学
|
收藏
磁盘上存有若干个溢出的临时文件,而内存的 Map 结构中留有部分数据,Spark 使用归并排序算法对所有临时文件和 Map 结构剩余数据做合并,分别生成 data 文件、和与之对应的 index 文件
来自:06 | Shuffle管理:为什么Shuffle是性能瓶颈?
6 人划过
我们知道,Shuffle 在 Map 阶段往往会对数据做排序,而这恰恰正中 SMJ 机制的下怀。
来自:18 | 数据关联优化:都有哪些Join策略,开发者该如何取舍?
5 人划过
reduceByKey 在落盘与分发之前,会先在 Shuffle 的 Map 阶段做初步的聚合计算
来自:07 | RDD常用算子(二):Spark如何实现数据聚合?
4 人划过
且创建完成后,还要在全网范围内跨节点、跨进程地分发到其他 Executors
来自:03 | RDD常用算子(一):RDD内部的数据转换
4 人划过
coalesce 则不然,在降低并行度的计算中,它采取的思路是把同一个 Executor 内的不同数据分区进行合并,如此一来,数据并不需要跨 Executors、跨节点进行分发,因而自然不会引入 Shuffle。
来自:09 | RDD常用算子(三):数据的准备、重分布与持久化
4 人划过
广播变量由 Driver 端定义并初始化,各个 Executors 以只读(Read only)的方式访问广播变量携带的数据内容。累加器也是由 Driver 定义的,但 Driver 并不会向累加器中写入任何数据内容,累加器的内容更新,完全是由各个 Executors 以只写(Write only)的方式来完成,而 Driver 仅以只读的方式对更新后的内容进行访问。
来自:10 | 广播变量 & 累加器:共享变量是用来做什么的?
4 人划过
其中,波浪线的含义,是其左侧与右侧的表达式在同一量级。左侧的表达式 D/P 为数据分片大小,右侧的 m/c 为每个 Task 分到的可用内存
来自:12 | 基础配置详解:哪些参数会影响应用程序稳定性?
3 人划过
数据块的概念与 RDD 数据分区(Partitions)是一致的
来自:11 | 存储系统:数据到底都存哪儿了?
3 人划过
因此,SMJ 算法的计算复杂度为 O(M + N)。
来自:17 | 数据关联:不同的关联形式与实现机制该怎么选?
3 人划过
RDD 的开发框架下,聚合类操作,如计数、求和、求均值,需要依赖键值对(Key Value Pair)类型的数据元素,也就是(Key,Value)形式的“数组”元素。
来自:01|Spark:从“大数据的Hello World”开始
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
免费试读
讲师

吴磊

前 FreeWheel 机器学习研发经理

吴磊,前 Freewheel 机器学习研发经理,负责计算广告业务中机器学习应用的实践、落地与推广。他还曾任职于 IBM、联想研究院、新浪微博,具备丰富的数据库、数据仓库、大数据开发与调优经验。 吴磊热爱技术分享,擅长使用轻松幽默的故事去解读枯燥的技术。曾于 Spark 中国峰会...查看更多
编辑推荐
讲师的其他课程
Spark 性能调优实战
吴磊
前 FreeWheel 机器学习团队负责人

36讲 | 8816 人已学习

¥59¥99
包含这门课的学习路径

机器学习工程师

13门课程 37.6w人学习
看过的人还看了
MySQL 实战 45 讲
林晓斌
网名丁奇,前腾讯云数据库负责人

49讲 | 224935 人已学习

¥68¥199
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283805 人已学习

¥68¥199
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 181001 人已学习

¥98¥399
Redis 核心技术与实战
蒋德钧
中科院计算所副研究员

53讲 | 81747 人已学习

¥68¥199
Spark 性能调优实战
吴磊
前 FreeWheel 机器学习团队负责人

36讲 | 8816 人已学习

¥59¥99
设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者

113讲 | 123470 人已学习

¥98¥299