1.提升资源利用率
1.executor数量
2.cpu core数量
3.executor内存
4.driver内存
2.提高并行度
task数量是executor*cpu core的2-3倍
3.重构rdd和rdd的持久化
1.抽取公共的rdd
2.对公共rdd进行持久化
3.rdd持久化序列化
4.广播大变量
5.kryo序列化
6.fastutil集合包
7.jvm调优
1.降低cache操作内存占比
2.提高executor堆外内存 默认300M
3.提升等待时长
8.shuffle调优
1.合并map端输出文件
2.map端内存调优和reduce端内存占比
spark.shuffle.file.buffer,默认32k
spark.shuffle.memoryFraction,0.2
3.shufflemanager调优 hash sort
9.算子调优
1.mappartition
2.coalesce
3.foreachpartition
4.用reducebykey实现
网友评论