【大数据技巧】MaxCompute优化去重计算的性能
免费开通大数据服务:https://www.aliyun.com/product/odps
转载自dachuan
随着双十一数据量的暴增,之前用distinct去重可以简单处理的场景,现在消耗的时间成倍增长。如果用了multiple distinct,那就更要警惕,因为多重去重本身会带来数据量的成倍增长,很可能10分钟的任务,在双十一期间会跑上几个小时都没有结果。
这里介绍一个小技巧,其实在稳定性手册里面已经有过介绍,不过总感觉没有看懂。最近正好做了一次优化,于是在这里小结一下:
例如原来的代码是这样:
select D1,D2,
count(distinctcasewhen A isnot null then B end) asB_distinct_cntfrom xxx group by D1,D2
那么优化方案可以是这样:
createt