spark最佳参数:spark调优的相关总结
1、reduce task OOM? 增大reduce端的聚合操作的内存比例,我来为大家讲解一下关于spark最佳参数:spark调优的相关总结?跟着小编一起来看一看吧!
spark最佳参数:spark调优的相关总结
1、reduce task OOM?
增大reduce端的聚合操作的内存比例
增大Executor memory 内存大小 --executor-memory
减少reduce task每次拉取的数据量 设置spark.reducer.maxSizeInFlight参数
2、在shuffle阶段executor挂掉?
分析原因:(1)map task阶段的所运行的executor的内存不足,导致executor挂掉了。导致executor里面的blockmanager挂掉,不能和connctionmanager建立连接,
2.executor并没有挂掉
2.1 BlockManage之间的连接失败(map task所运行的executor正在GC)
2.2建立连接成功,map task所运行的executor正在GC
3.reduce task向Driver中的MapOutputTracker获取shuffle file位置的时候出现了问题
下面有几个重要的参数的调节:
spark.shuffle.file.buffer
默认值:32k
参数说明:该参数用于设置shuffle write task的BufferedOutputStream的buffer缓冲大小。将数据写到磁盘文件之前,会先写入buffer缓冲中待缓冲写满之后,才会溢写到磁盘。
调优建议:如果作业可用的内存资源较为充足的话,可以适当增加这个参数的大小(比如64k),从而减少shuffle write过程中溢写磁盘文件的次数,也就可以减少磁盘IO次数,进而提升性能。在实践中发现,合理调节该参数,性能会有1%~5%的提升。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com