1. 文档少算一点:大数据计算优化的统一视角递推、HyperLogLog、两阶段聚合、切片窗口,看起来是几套互不相干的技巧,其实都在利用聚合的两个性质:能不能合并,能不能撤销。本文用同一张订单表的四个指标讲清这两个问题,再看计算模式(只算变化的部分、把活拆开)和数据结构(又小又能合并的中间状态)怎样分别利用它们,最后给出拿到一个新指标时的判断顺序。
  2. 文档消灭暴力扫描,世界属于渐进每天计算「近 30 天」指标时,常规写法要把 30 个分区重新扫一遍,其中 29 个昨天刚扫过。本文用一个递推公式把每天的扫描量从 N 个分区降到 3 个,再讨论最大值这类不能递推的指标怎么办,最后介绍让平台替你做这件事的渐进计算。
  3. 文档大数据去重统计:从精确集合到 HyperLogLogUV 这类去重计数不能直接相加,数据一大就成了性能瓶颈。本文按「精确 → 压缩 → 概率」的顺序比较 Set、Bitmap / RoaringBitmap、Bloom Filter 和 HyperLogLog,讲清每种方法的原理、代价和适用场景。
  4. 文档大数据性能调优:先看数据怎么分,再看数据怎么动分布式作业慢,多半不是算得慢,而是数据分得不均(倾斜)或搬得太多(Shuffle)。本文从这两点出发,讲清关联与聚合中的倾斜怎么识别、怎么打散,以及 MPP 引擎如何通过选择 Join 方式和 Runtime Filter 少搬数据。