52IT

 找回密码
 立即注册
查看: 2054|回复: 14

吴磊-Spark 性能调优实战(完结)

[复制链接]

签到天数: 36 天

[LV.5]常住居民I

46

主题

119

帖子

5694

积分

坤神

Rank: 8Rank: 8

积分
5694

最佳新人活跃会员

金钱
5570
发表于 2022-7-28 22:47:23 | 显示全部楼层 |阅读模式
本文分为四个部分,基本涵盖了所有Spark优化的点,面试和实际工作中必备。

《Spark性能优化:开发调优篇》《Spark性能优化:资源调优篇》《Spark性能优化:数据倾斜调优篇》《Spark性能优化:shuffle调优篇》


Spark性能优化:开发调优篇


在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的调优,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作为一种快速大数据计算引擎的优势来。因此,想要用好Spark,就必须对其进行合理的性能优化。Spark的性能调优实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。我们需要根据不同的业务场景以及数据情况,对Spark作业进行综合性的分析,然后进行多个方面的调节和优化,才能获得最佳性能。笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发调优、资源调优、数据倾斜调优、shuffle调优几个部分。开发调优和资源调优是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜调优,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle调优,面向的是对Spark的原理有较深层次掌握和研究的同学,主要讲解了如何对Spark作业的shuffle运行过程以及细节进行调优。本文作为Spark性能优化指南的基础篇,主要讲解开发调优以及资源调优。开发调优 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。开发调优,就是要让大家了解以下一些Spark基本开发原则,包括:RDD lineage设计、算子的合理使用、特殊操作的优化等。在开发过程中,时时刻刻都应该注意以上原则,并将这些原则根据具体的业务以及实际的应用场景,灵活地运用到自己的Spark作业中。原则一:避免创建重复的RDD通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD;接着对这个RDD执行某个算子操作,然后得到下一个RDD;以此类推,循环往复,直到计算出最终我们需要的结果。在这个过程中,多个RDD会通过不同的算子操作(比如map、reduce等)串起来,这个“RDD串”,就是RDD lineage,也就是“RDD的血缘关系链”。我们在开发过程中要注意:对于同一份数据,只应该创建一个RDD,不能创建多个RDD来代表同一份数据。一些Spark初学者在刚开始开发Spark作业时,或者是有经验的工程师在开发RDD lineage极其冗长的Spark作业时,可能会忘了自己之前对于某一份数据已经创建过一个RDD了,从而导致对于同一份数据,创建了多个RDD。这就意味着,我们的Spark作业会进行多次重复计算来创建多个代表相同数据的RDD,进而增加了作业的性能开销。一个简单的例子
购买主题 本主题需向作者支付 100 金钱 才能浏览

签到天数: 26 天

[LV.4]偶尔看看III

0

主题

583

帖子

861

积分

至尊VIP

积分
861
金钱
278
 楼主| 发表于 2022-7-28 23:41:29 | 显示全部楼层
1
回复

使用道具 举报

签到天数: 29 天

[LV.4]偶尔看看III

2

主题

491

帖子

1244

积分

至尊VIP

积分
1244
金钱
753
 楼主| 发表于 2022-7-29 00:26:56 | 显示全部楼层
高性能的大数据计算作业
回复

使用道具 举报

签到天数: 33 天

[LV.5]常住居民I

0

主题

770

帖子

2298

积分

至尊VIP

积分
2298
金钱
1528
 楼主| 发表于 2022-7-29 08:31:12 | 显示全部楼层
66666666666666666
回复

使用道具 举报

签到天数: 24 天

[LV.4]偶尔看看III

5

主题

268

帖子

812

积分

至尊VIP

积分
812
金钱
544
 楼主| 发表于 2022-7-29 10:15:57 | 显示全部楼层
qqqqqqqqqqqqqq
回复

使用道具 举报

签到天数: 60 天

[LV.6]常住居民II

0

主题

790

帖子

2320

积分

至尊VIP

积分
2320
金钱
1530
 楼主| 发表于 2022-7-29 10:49:17 | 显示全部楼层
8888
回复

使用道具 举报

签到天数: 21 天

[LV.4]偶尔看看III

1

主题

521

帖子

1511

积分

至尊VIP

积分
1511
金钱
990
 楼主| 发表于 2022-7-29 12:22:14 | 显示全部楼层
6
回复

使用道具 举报

签到天数: 18 天

[LV.4]偶尔看看III

3

主题

825

帖子

1853

积分

至尊VIP

积分
1853
金钱
1028
 楼主| 发表于 2022-7-29 20:38:18 | 显示全部楼层
111
回复

使用道具 举报

签到天数: 651 天

[LV.9]以坛为家II

0

主题

1032

帖子

4131

积分

至尊VIP

积分
4131
金钱
3099
 楼主| 发表于 2022-7-29 21:56:47 | 显示全部楼层
666
回复

使用道具 举报

签到天数: 25 天

[LV.4]偶尔看看III

0

主题

1661

帖子

2316

积分

至尊VIP

积分
2316
金钱
652
 楼主| 发表于 2022-7-29 23:44:25 | 显示全部楼层
吴磊-Spark 性能调优实战(完结)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|52IT

GMT+8, 2024-6-23 10:01 , Processed in 0.055729 second(s), 26 queries .

Powered by www.52it.cc X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表