mthoutai

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MapReduce 是 Hadoop 的核心分布式计算框架,其核心思想是通过分治(Divide and Conquer)处理海量数据。以下从技术架构、执行流程、编程模型和特性展开解析:


一、核心设计思想

  1. 分而治之模型
    • Map 阶段:将输入数据拆分为独立分片(默认 128MB),由多个 MapTask 并行处理,输出中间键值对 (k2, v2)
    • Reduce 阶段:对相同 k2 的中间结果聚合,由 ReduceTask 执行归约操作,生成最终结果 (k3, v3)

    关键特性:通过拆分任务实现并行计算,屏蔽分布式细节,开发者只需关注业务逻辑。


二、作业执行流程

  1. 提交阶段
    • 客户端提交作业至 YARN ResourceManager,生成 MRAppMaster(管理任务生命周期)。
  2. Map 阶段
    • map过程:MapTask 读取 HDFS 数据分片,执行用户自定义 map() 函数,输出中间结果到本地磁盘。
    • Shuffle 过程:将 Map 输出的 (k2, v2) 按 Key 哈希分区,排序后通过网络传输至 Reduce 节点。
  3. Redu
posted on 2025-11-01 09:18  mthoutai  阅读(2)  评论(0)    收藏  举报