原创|Spark千亿级数据去重,性能优化踩坑之路

好久没有更新原创了

大家好,我是狗哥,今天给大家写一点干货,这次咱们就从0-1把思路给大家讲一下,这也是我同事在数据开发中踩过的坑,希望能帮助到大家。

51f3ce90ba08e30caf68d2e3b1ade221.png

先虚拟一个业务场景,方便大家思考

我举个例子,拿京东或者淘宝说吧,如果你的业务让你计算几个维度(广告位置、小时、广告类型等等吧,我就随便举个例子),每个维度的数据uv量级,方便业务评估和市场决策,数据精准度不要求完全精准,误差在1%以内就行了,你该如何做?

我们针对两个开发者思路,来跟大家梳理我们踩过的坑。

思路一,能跑就行,不关注性能

解决方式:直接count distinct

优势:应届生都会

弊端:数据去重性能差

计算性能:刚开始数据量少,4-6个小时可以出来,随着数据量增多运行时间 6-12个小时,业务对此非常不满意,早上来了看不到数据报表,需要等下午才产出,直接影响数据人员的口碑(老板开周会,肯定会diss做数据的,不能忍呀兄弟们,一定要精益求精!!!)。

思路二,用bitmap去重复

经过一番技术调研,发现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值