京东618 想想都兴奋,很多商品要打折,这是我们从用户处看到的镜像
大家都摩拳擦掌期望在这天买到自己心仪又实惠的商品
但是作为京东的业务和研发人员来说 ,他们可能都已经连续三四天在公司待到凌晨2,3点
保证整个事件的正常有序进行
作为我个人而言是仓库部门,压力主要集中在离线数据的加工
我们知道在618 期间数据会成一个高比率的速度增长 尤其是订单量和配送数据
今天就简单说下我们在今年618数据加工逻辑遇到一个小问题 ---数据倾斜
想必看这个文章的您已经对数字倾斜已经是耳熟能详了 ,就不必解释了
这个问题在我们平时的数据加工中也存在 ,618 放大了这个问题 ,造成我们数据延迟 40分钟
分析后是我们的订单在关联父订单时候 ,父订单很多的单号是null ,这个样子
在关联的时候 ,null 值会被发送到一个reduce 进行进行处理 ,而且null 值 接近整个数据的70%左右;
效率可想而知了 ,不佳
经过优化,把null 打散后 ,我们任务的执行时间是原来的 1/3 。
2018-06-21
一候鹿角解
二候蝉始鸣
三候半夏生