🔥 跟着梁哥打卡一波spark的性能调优~
文章目录
1、Spark调优原理与步骤
🔥 如果程序执行太慢,调优的顺序一般如下:
-
1、首先调整任务并行度,并调整partition分区。
-
2、尝试定位可能的重复计算,并优化之。
-
3、尝试定位数据倾斜问题或者计算倾斜问题并优化之。
-
4、如果shuffle过程提示堆外内存不足,考虑调高堆外内存。
-
5、如果发生OOM或者GC耗时过长,考虑提高executor-memory或降低executor-core。
🔥以下是对上述公式中涉及到的一些概念的初步解读,建议可以初步过一眼,直接跳到调优案例部分看代码,遇到不会的概念再回头看这里。
任务计算总时间: 假设由一台无限内存的同等CPU配置的单核机器执行该任务,所需要的运行时间。通过缓存避免重复计算,通过mapPartitions代替map以减少诸如连接数据库,预处理广播变量等重复过程,都是减少任务计算总时间的