Advertisement

大数据优化中的去重处理

阅读量:

除了上述两种常见方式,从根本上应对单节点数据规模过大的问题仍需从理念层面着手,其中软性手段即为分桶策略。

其关键在于两阶段聚合机制。

分桶的具体实现方式多样,例如在去重场景中,可首先依据字符串长度对数据进行分类存储,随后在每个分组内部执行 distinct 操作,最终将各组结果进行汇总,即可得出整体的 UV 值。

亿万级海量数据去重软方法,spark/hive/flink/mr通用 | 航行学园

复制代码
 先求出 uid 的长度

    
 create table event_tmp as select *,length(uid) as len_uid from event;
    
  
    
 首先先对 uid 和 day两个字段进行 groupby (减轻单点压力)
    
 再对中间结果求 sum即可。
    
 select sum(uv_tmp) as uv 
    
 from
    
   (
    
       select day_num,size(co

全部评论 (0)

还没有任何评论哟~