好久没有更新原创了
大家好,我是狗哥,今天给大家写一点干货,这次咱们就从0-1把思路给大家讲一下,这也是我同事在数据开发中踩过的坑,希望能帮助到大家。
先虚拟一个业务场景,方便大家思考
我举个例子,拿京东或者淘宝说吧,如果你的业务让你计算几个维度(广告位置、小时、广告类型等等吧,我就随便举个例子),每个维度的数据uv量级,方便业务评估和市场决策,数据精准度不要求完全精准,误差在1%以内就行了,你该如何做?
我们针对两个开发者思路,来跟大家梳理我们踩过的坑。
思路一,能跑就行,不关注性能
解决方式:直接count distinct
优势:应届生都会
弊端:数据去重性能差
计算性能:刚开始数据量少,4-6个小时可以出来,随着数据量增多运行时间 6-12个小时,业务对此非常不满意,早上来了看不到数据报表,需要等下午才产出,直接影响数据人员的口碑(老板开周会,肯定会diss做数据的,不能忍呀兄弟们,一定要精益求精!!!)。
思路二,用bitmap去重复
经过一番技术调研,发现