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

在MapReduce框架中,输入格式(InputFormat)对作业性能产生哪些影响?针对这些影响,可以采取哪些优化措施?

数据性能优化技术原理方案权衡Apache Hadoop

考察说明

考查对MapReduce输入格式如何影响作业性能的理解以及优化策略。

回答思路

  1. 【回答框架 1】输入格式决定数据如何被分割成输入分片,每个分片对应一个map任务。分片大小影响map任务数量和并行度,过小导致任务过多、调度开销大,过大则并行度下降。
  2. 【回答框架 2】输入格式还影响数据本地性,即数据块与计算节点的距离。合理设置分片大小和考虑数据块位置,可以提高本地性,减少网络传输。
  3. 【回答框架 3】优化措施包括:合理设置分片大小(如使用CombineTextInputFormat合并小文件),使用压缩格式(如Snappy)减少IO,以及根据数据特征自定义InputFormat实现更高效的数据读取。
  4. 【关键点 1】输入分片大小决定map任务并行度,影响整体性能。
  5. 【关键点 2】数据本地性是关键,减少网络传输可提升效率。
  6. 【关键点 3】合并小文件可减少任务数,压缩可减少磁盘和网络IO。
  7. 【易错点 1】分片大小并非越小越好,需权衡并行度和调度开销。
  8. 【易错点 2】压缩格式选择需考虑解压CPU成本。
  9. 【易错点 3】自定义InputFormat可能增加复杂度,需测试验证。