属性名称 默认值 属性说明
spark.reducer.maxSizeInFlight 48m reduce task的buffer缓冲,代表了每个reduce task每次能够拉取的map side数据最大大小,如果内存充足,可以考虑加大大小,从而减少网络传输次数,提升性能
spark.shuffle.blockTransferService netty shuffle过程中,传输数据的方式,两种选项,netty或nio,spark 1.2开始,默认就是netty,比较简单而且性能较高,spark 1.5开始nio就是过期的了,而且spark 1.6中会去除掉
spark.shuffle.compress true 是否对map side输出的文件进行压缩,默认是启用压缩的,压缩器是由spark.io.compression.codec属性指定的,默认是snappy压缩器,该压缩器强调的是压缩速度,而不是压缩率
spark.shuffle.consolidateFiles false 默认为false,如果设置为true,那么就会合并map side输出文件,对于reduce task数量特别的情况下,可以极大减少磁盘IO开销,提升性能
spark.shuffle.file.buffer 32k map side task的内存buffer大小,写数据到磁盘文件之前,会先保存在缓冲中,如果内存充足,可以适当加大大小,从而减少map side磁盘IO次数,提升性能
spark.shuffle.io.maxRetries 3 网络传输数据过程中,如果出现了网络IO异常,重试拉取数据的次数,默认是3次,对于耗时的shuffle操作ÿ
shuffle数据参数
最新推荐文章于 2024-06-29 20:13:25 发布
本文详细介绍了Spark shuffle过程中的关键参数,包括reduce任务的buffer大小、shuffle传输方式、map侧文件压缩、文件合并、内存缓冲、重试机制、网络连接复用、堆外内存使用等,旨在通过调整这些参数提升Spark作业的性能和稳定性。
摘要由CSDN通过智能技术生成