接机buffer时间优化-企业级项目的设计开发以及数据倾斜发现、分析、处理和解决的实操

  1. 需求说明:
历史数据计算推荐buffer辅助运营配置
航班满足历史数据要求条件:
	1.该航班近 X 个月订单量>= XX 
	2.该航班+同类航班近 X 个月订单量>= XX 
满足条件1则使用同航班历史数据计算,不满足条件1满足条件2则使用同航班+同类航班数据计算,都不满足则不进行计算

	同航班定义:
		航班号一致
		起飞降落机场一致
	同类航班定义:
		起飞落地机场一致
		计划落地时间较原航班计划落地时间在±X H以内
计算规则:
	1.历史数据计算:司机接到乘客时间-航班实际落地时间
	2.取满足条件的该航班近X个月的数据 计算(司机接到乘客时间-航班实际落地时间)
	3.剔除计算后值<X和>X的值
	4.使用加权移动平均预测算法估算推荐时间
		距离时间越远权重越低,越近权重越高————权重:
		近X-X月0.XX,近X-X月0.XX,近X-X月0.XX,
		算法公式:【近X-X个月的数据求和*0.XX+近X-X个月的数据求和*0.XX+近X-X个月的数据求和*0.XX】
					/
				 【近X-X个月的订单量*0.XX+近X-X个月的订单量*0.XX+近X-X个月的订单量*0.XX】
	5.保留整数到分钟(小数位四舍五入)
  1. BI模型设计
    在这里插入图片描述

  2. 开发过程
    在这里插入图片描述

  3. 发现问题
    sql写好后运行了很久很久没有跑出结果,根据经验来说数据不算多, 感觉运行时长不合理,猜测发生数据倾斜。
    分析数据倾斜产生场景, 1.数据分布;2. 关联; 3. count(distinct 字段)。
    这个项目可以首先排除3, 那么就从1和2两个场景分析。
    在这里插入图片描述

  4. 慢查询分析
    通过spark UI可以发现,大部分任务已经完成,但是有的task执行时间很长很长,那么就可以实锤数据倾斜了。
    在这里插入图片描述

  5. 数据倾斜原因探查
    通过Spark UI查看卡点的stage,在SQL里面搜索卡点stage查看是在关联除,那么此次数据倾斜属于关联场景导致。

    stage 752
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  6. 分析join导致数据倾斜的分类
    5.1、大量关联字段是空值
    5.2、关联字段的类型不匹配
    5.3、关联字段的数据分布不均匀(本次根因)
    通过对关联字段的样例数探查发现是有热点数据导致数据分布不均匀
    在这里插入图片描述

  7. 解决方案
    6.1、 通过将热点数据和非热点数据分开算
    6.2、 由于我这个case热点数据对分析没有意义,所以我直接过滤掉了这个热key

  8. 改进结果
    在这里插入图片描述

  9. 项目成果
    在这里插入图片描述

之前处理数据倾斜的方法都是背的八股,这次虽然原因很简单,但是确确实实是一次值得记录的实操过程


相关处理数据倾斜的记录:企业级实战优化宽表任务数据倾斜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值