1)使用高性能序列化类库
2)优化数据结构
3)对多次使用的RDD进行持久化或Checkpoint
4)提高并行度(根据Spark官方的推荐,最优的方案是给集群中的每个cpu core设置2~3个task,也就是task的数量是cpu核的2~3倍。)
5)广播共享数据
6)数据本地化
7)reduceByKey和groupByKey的选择
8)shuffle性能优化