开发者社区 问答 正文

怎么理解 MapReduce 过程的各个阶段?

怎么理解 MapReduce 过程的各个阶段?

展开
收起
Medusa 2022-01-13 18:13:56 1070 分享
分享
版权
1 条回答
写回答
取消 提交回答
  • 整个 MapReduce 过程可以分为数据输入阶段、Map 阶段、中间结果处理阶段(包括Combiner 阶段和 Shuffle 阶段)、Reduce 阶段及数据输出阶段。

    (1)数据输入阶段:将待处理的数据输入 MapReduce 系统。

    (2)Map 阶段:map() 函数中的参数会以键值对的形式进行输入,经过 map() 函数的一系列并行处理后,将产生的中间结果输出到本地磁盘。

    (3)中间结果处理阶段:这个阶段又包含 Combiner 阶段和 Shuffle 阶段,对 map() 函数输出的中间结果按照键进行排序和聚合等一系列操作,并将键相同的数据输入相同的reduce() 函数中进行处理(也可以根据实际情况指定数据的分发规则)。

    (4)Reduce 阶段:reduce() 函数的输入参数是以键和对应值的集合形式输入的,经过reduce() 函数处理后,产生一系列键值对形式的最终结果数据,并输出到 HDFS 中。

    (5)数据输出阶段:数据从 MapReduce 系统输出到 HDFS。

    以上内容摘自《海量数据处理与大数据技术实战》电子书,点击https://developer.aliyun.com/topic/download?id=8205可下载完整版

    2022-01-13 20:25:04 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等