栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

浅谈 Spark SQL 实现任务质量治理的思路

浅谈 Spark SQL 实现任务质量治理的思路

前言

本文隶属于专栏《Spark异常问题汇总》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见 Spark异常问题汇总

正文 问题

Spark 集群白天资源比较少,分析脚本可能会跑的时间很长,对此想做一些限制,但由于晚上和白天的机器不一样多,如果仅仅限制脚本的执行时间,可能不太合理(比如白天这个脚本跑 20min 晚上可能只需要 3min ),有没有更好的方案?

背景

主要是希望可以给分析师或者数仓同事一些脚本质量反馈,提高开发效率。 提高数据产出的质量和速度,而不是一味的堆脚本堆资源。

解决 质量标准

脚本质量其实是给脚本一个评分,常见的几个纬度有:扫描小文件数,空跑task数,数据倾斜度,task最大和平均GC时间,稳定性等

整体思路

spark => dynamic allocation
yarn => 资源调度器

实现思路一

先统计调查下繁忙时间段的所有任务的平均执行时间,然后乘以一个放大因子得出一个阈值,超出这个值就 kill。

实现思路二

分队列限定资源,在限定资源的前提下,这个时候堆资源跑的任务就没啥意义了。列个慢任务列表 给他们提示7天内优化掉, 要不就下任务。

当然特殊重要任务(给老板看的,那帮孙子最爱用这话来怼)指定时间优化不了可以商量。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/342856.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号