大数据培训之Spark性能调优

发布时间:2020年03月13日作者:atguigu浏览次数:1,230

一般来说,我们在进行性能调优的时候,主要是往三点靠,降低CPU消耗,减少IO,优化内存使用。

Spark调优主要从两个方面,一个是Spark Core,另一个是Spark SQL。

1、executor调优

调优方式1: 程序跑的过程中,发现Spark job有时候特别慢,查看cpu的利用率很低,可以尝试减少每个executor占用cpu core的数量,增加并行executor的数量.配合增加切片,整体上提高cpu的利用率,从而提高性能.

调优方式2: 如果发现Spark job的时常发生内存溢出, 增加分片的数量,从而就可以减少每片数据的规模,能够更多的task处理同样的任务,减少executor的数量,这样每个executor能够分配到的内存就更大,相当于每个task的内存能够更大的分配. 可能运行速度变慢了些,但是不会内存溢出了.

调优方式3: 如果数据量很少,有大量的小文件生成, 那就减少文件分片,使task整体数量减少,每个task能够分到更大的内存.,处理更多的数据,就不会有大量的小文件生成.

2、频繁GC或者OOM优化

频繁GC(垃圾回收)或者OOM(内存溢出)在Driver端和Executor端分别有不同的处理方式

3、数据倾斜优化

4、程序开发调优

避免创建重复的RDD、尽可能复用同一个RDD、对多次使用的RDD进行持久化、尽量避免使用shuffle类算子、使用map-side预聚合的shuffle操作、使用高性能的算子、广播大变量、使用Kryo优化序列化性能、优化数据结构

5、运行资源调优

所谓的Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。

num-executors、executor-memory、executor-cores、driver-memory、spark.default.parallelism、spark.storage.memoryFraction、spark.shuffle.memoryFraction

想要了解跟多关于大数据培训课程内容欢迎关注尚硅谷大数据培训,尚硅谷除了这些技术文章外还有免费的高质量大数据培训课程视频供广大学员下载学习


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦3层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市雁塔区和发智能大厦B座3层(西安校区)

成都市成华区北辰星拱青创园(成都校区)