如何使用Sparklens已经发给大家了传送门,那么如何根据生成的图去判断如何优化参数呢?如何判断数据倾斜该优化呢?
参数优化 1、如何设置executor 核数可以参考这个,如果浪费太多就减少一点。像下面这个应用级别浪费了84.76%
2、如何设置executor 内存
查看发现这个峰值其实并不高。所以根据这个峰值来算。2~5倍最合适。
当然可以看后端的解析日志,有提示。比如下面这个。在executor数量不变的情况下,提示给1.4G最合适。
3、如何设置executor 数量设置不同的数量预计跑多久。这个图有标识,集群利用率其实是贼低的。
查看这个图可以看出来其实可以缩小executor数量,很多都没用满。
代码优化 1、数据倾斜。查看这两个值,值越大,stage的数据倾斜越大。然后去spark-ui上看看自己这个阶段在执行哪一段代码去优化。
2、自动优化代码?别想了~Sparklens不支持给你优化代码。现在这个也是参考阶段,可能有的地方解释的不对。大家提出来我进行测试。
目前通过Sparklens已经优化了内存排名前10的任务,在不影响效率的情况下,平均速度提升45分钟,平均资源减少了500G。
我计划写一套代码,将自动识别yarn中任务匹配这个解析日志,获取不合理的配置资源任务。然后给出推荐资源配置。
最后希望能够帮助到大家。坚持原创拒绝抄袭。



