Spark性能优化概述
Spark是基于内存的大数据计算,需要进行性能优化原因是CPU、内存、网络带宽出现了瓶颈。如果网络传输和通信导致性能出现瓶颈,那么要加大网络带宽是必要的,如果内存导致性能出现瓶颈,难以处理10亿以上的数据量进行计算,除了加大内存,还需要对内存的使用进行性能优化,使用一些性能技术调优。Spark性能优化,主要是对内存进行性能优化。
Spark性能优化技术点
1、诊断内存的消耗
2、使用Kryo高性能序列化类库
3、优化数据结构
4、多次使用的RDD进行持久化 与Checkpoint
5、使用序列化的持久化级别
6、Java虚拟机垃圾回收调优
7、数据本地化
8、提高并行度
9、 广播共享数据
10、合理使用的reduceByKey和groupByKey
11、Shuffle的调优
Spark性能优化的重要性
Spark最大的优点,其实也是它最大的问题。Spark基于内存的计算模型,Spark的速度可达到了hadoop的MapReduce与Hive查询引擎几倍、几十倍、最大的甚至上百倍。但是基于内存的计算模型,导致它经常出现各种OOM(内存溢出)、内部异常等问题。其稳定性,不如Hadoop。但基于上述的性能优化技术点进行调优后,对大数据方面计算,既可计算速度快,又可达到稳定性。
有需要关于这方面知识的可以私信加我的v。大量免费的视频资料供你学习。