1、Shuffle优化配置 -spark.shuffle.file.buffer

默认值:32k

参数说明
这个参数设定了shuffle write task在将数据写入磁盘文件前所使用的BufferedOutputStream的缓冲大小。当数据写入这个缓冲区时,一旦缓冲区满,数据才会被刷新到磁盘中。通过调整这个参数的大小,可以影响磁盘I/O的次数,进而对性能产生影响。

调优建议
如果集群中每个节点的内存资源相对宽裕,可以考虑增大这个参数的值(比如64k或更大)。这样可以减少shuffle write过程中数据从缓冲区到磁盘的溢写次数,从而降低磁盘I/O的频率,提升作业的执行性能。在实际应用中,合理地调整这个参数通常可以使性能提升1%到5%。