1. 调整reduce task数目

    修改参数spark.default.parallelism,通常,reduce数目设置为core数目的2-3倍。

    数量太大,造成很多小任务,增加启动任务的开销。

    数目太小,任务运行缓慢。


  2. shuffle磁盘IO时间长

    设置spark.local.dir为多个磁盘,并设置磁盘的IO速度快的磁盘,通过增加IO来优化shuffle性能

    可参考: http://spark-config.readthedocs.io/en/latest/




参考:

http://blog.csdn.net/stark_summer/article/details/42981201