根据Sparklens优化参数(图文解释)

前言

如何使用Sparklens已经发给大家了传送门,那么如何根据生成的图去判断如何优化参数呢?如何判断数据倾斜该优化呢?

参数优化

1、如何设置executor 核数

可以参考这个,如果浪费太多就减少一点。像下面这个应用级别浪费了84.76%

2、如何设置executor 内存

查看发现这个峰值其实并不高。所以根据这个峰值来算。2~5倍最合适。

当然可以看后端的解析日志,有提示。比如下面这个。在executor数量不变的情况下,提示给1.4G最合适。 

3、如何设置executor 数量

设置不同的数量预计跑多久。这个图有标识,集群利用率其实是贼低的。

查看这个图可以看出来其实可以缩小executor数量,很多都没用满。 

代码优化

1、数据倾斜。

查看这两个值,值越大,stage的数据倾斜越大。然后去spark-ui上看看自己这个阶段在执行哪一段代码去优化。

2、自动优化代码?别想了~Sparklens不支持给你优化代码。

脚本解析

在2022-02-11日已完成对日志的解析。大家可以根据Sparklens的结果报告进行解析。我自己写的解析报告是这样的。并叮嘱我们开发人员上线前一定要看下报告。

每次跑完的任务报告。

 采集到Sparklens优化结果,总结出需要优化的任务看板。

现在这个也是参考阶段,可能有的地方解释的不对。大家提出来我进行测试。

目前通过Sparklens已经优化了内存排名前10的任务,在不影响效率的情况下,平均速度提升45分钟,平均资源减少了500G。

我计划写一套代码,将自动识别yarn中任务匹配这个解析日志,获取不合理的配置资源任务。然后给出推荐资源配置。(2022-02-11日已完成)

后期我准备再做优化,两种优化方案:

1、自动化获取不合理任务资源配置。并进行钉钉报警。做成看板和把任务@给代码开发者(已实现)。

2、 自动化调参,未来不进行人工调参,自动化对参数进行。

近期没时间做这一块,在做clickhouse和davinci的优化,dolphinscheduler还有二次开发和升级。

2022-03-07补充:目前使用Sparklens对任务进行优化,任务已经降低7T的资源了。对个别任务依然有点问题,就是他的模型解析并不准确。建议大家在他推荐的内存资源上按照比例(1.5)或者固定值(6G)去增加资源。防止资源忽然暴增造成的任务失败。

最后希望能够帮助到大家。坚持原创拒绝抄袭。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值