数据岗位面试题更新 2026-08-05

MapReduce 框架下,针对大规模数据处理场景,有哪些方法可以减少网络带宽消耗?

数据性能优化技术原理技术选型

考察说明

考查对 MapReduce 数据流和优化手段的理解

回答思路

  1. 【回答框架 1】网络带宽主要在 shuffle 阶段的数据传输中消耗,优化核心是减少跨节点传输的数据量。
  2. 【回答框架 2】使用 combiner 在 map 端本地合并中间结果,减少传给 reducer 的数据量。
  3. 【回答框架 3】采用序列化压缩,如 Snappy,降低传输数据大小。
  4. 【回答框架 4】设计合理的分区和排序,减少数据倾斜导致的不均衡传输。
  5. 【回答框架 5】调节参数如 io.sort.mb 和 mapreduce.reduce.shuffle.parallelcopies,优化传输效率。
  6. 【关键点 1】combiner 在 map 端合并可减少 shuffle 数据量
  7. 【关键点 2】压缩序列化降低网络传输字节数
  8. 【关键点 3】合理分区避免数据倾斜导致的带宽浪费
  9. 【易错点 1】combiner 不适用于所有场景,如求平均值
  10. 【易错点 2】压缩需权衡 CPU 开销与带宽节省
  11. 【易错点 3】数据倾斜未处理时其他优化效果有限