数据量特别大时,用三个 Map和一个Reduce做Top10,哪种方法效率最高?如何减少数据传输和避免数据倾斜?
考察说明
考察大数据TopN计算的方案设计、数据倾斜规避与多阶段聚合优化
回答思路
- 能明确使用两阶段聚合(combiner或二次Map)而非单Reduce
- 说明在Map端局部求TopN以减少跨节点数据传输
- 讨论利用分布键或加盐解决数据倾斜,并解释不同方法的取舍
- 结合分区和全排序说明最终结果正确性
- 对比不同方案(如二次排序、hash分桶)的优劣
考察大数据TopN计算的方案设计、数据倾斜规避与多阶段聚合优化