spark性能优化(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/monkeysheep1234/article/details/65944434

性能优化概述:

(随着自己学习,持续更新,让博客见证我的成长之路吧)

spark计算本质基于内存,真正使用过的人,肯定遇到各种各样的性能问题,各种OOM;spark性能瓶颈很多:cpu、网络带宽、或者是内存等
数据量太大,内存放不下所有数据,需要对内存进行优化,比如使用些手段减少内存的消耗;内存容量足够放所有数据,网络传输和通信就会导致性能出现瓶颈……
经常遇到oom、文件丢失、task lost、内存异常各种问题,性能优化可以说是spark使用者必须掌握的,为避免自己成为,只会写spark程序不清楚内核原理,不会调优的spark逗比,默默总结下spark性能优化的主要手段:
1,使用高性能序列化类库
2,优化数据结构
3,对多次使用的RDD进行持久化/Checkpoint
4,使用序列化的持久化级别
5,java虚拟机垃圾回收调优
6,提高并行度
7,广播共享数据
8,数据本地化
9,reduceByKey 和groupByKey的合理使用
10,Shuffle调优
spark最大的优点,其实也是最大的问题--基于内存的计算模型。使用了基于内存的计算模型,导致稳定性不如hadoop。随着spark版本不断的更新,spark的稳定性也有了很大的提升,目前spark已更新到了2.1版本,增加了很多新的功能,很值得去尝试。

猜你喜欢

转载自blog.csdn.net/monkeysheep1234/article/details/65944434