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

针对大数据分析场景,当数据集规模很大时,你会采用哪些并行计算策略或技术来提升处理效率?

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

考察说明

考查对大数据并行计算核心方法和原理的理解。

回答思路

  1. 【回答框架 1】并行计算本质是将大任务分解为多个子任务,由多节点或多核同时执行,需要关注数据划分、通信开销和结果汇总。基本原则是数据本地性与计算向数据移动,减少跨节点数据传输。
  2. 【回答框架 2】常见方案包括基于MapReduce的批处理(如Hadoop),适用于离线大规模统计分析;基于内存计算的Spark,通过RDD和DAG优化迭代计算和交互式查询;以及数据并行框架如MPI或GPU计算,适合密集计算任务。
  3. 【回答框架 3】数据划分策略很关键:水平分片按行或键范围切分,保证负载均衡;哈希分区按键哈希散列到节点,利于聚合操作;范围分区适合有排序需求,但需防止数据倾斜。
  4. 【回答框架 4】并行执行时需应对数据倾斜,可通过加盐(salting)或二次哈希重新均衡;同时要合理设置并行度,通常参考可用CPU核心数和数据量,并关注Shuffle和网络IO开销。
  5. 【回答框架 5】容错与一致性:MapReduce通过任务重试和检查点实现容错;Spark通过血缘(lineage)机制恢复RDD。分析任务需保证幂等性,避免中间结果对状态敏感。
  6. 【关键点 1】数据本地性和减少网络传输是并行计算效率的核心。
  7. 【关键点 2】MapReduce适合批处理,Spark内存计算适合迭代和交互分析。
  8. 【关键点 3】数据倾斜可加盐或重分区处理。
  9. 【关键点 4】并行度需结合资源与数据量调整,并压测验证。
  10. 【易错点 1】盲目增加并行度可能导致调度和通信开销超过计算收益。
  11. 【易错点 2】忽略数据倾斜会使部分任务成为瓶颈。
  12. 【易错点 3】不区分计算场景,错误选择批处理或流处理框架。