zoukankan      html  css  js  c++  java
  • MapReduce的基本流程

          MapReduce计算模型由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数,即可实现分布式计算,非常简单。map()和reduce()这两个函数的形参是key、value对,表示函数的输入信息。

          1. map任务处理

    1 读取输入文件内容,解析成key、value对。对输入文件的每一行,解析成key、value对。每一个键值对调用一次map函数。

    2写自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

    3 对输出的key、value进行分区。

    4 对不同分区的数据,按照key进行排序、分组。相同key的value放到一个集合中。

    5 (可选)分组后的数据进行归约。

      2.reduce任务处理

    1 对多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点。

    2 对多个map任务的输出进行合并、排序。写reduce函数自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

    3 把reduce的输出保存到文件中。

    MapReduce的基本设计思想

    上面说了这么多,其实MapReduce的设计思想可以归结为如下三个:

    (1)对付大数据并行处理:分而治之

    (2)上升到抽象模型:Map与Reduce

    (3)上升到构架:以统一构架为程序员隐藏系统层细节

  • 相关阅读:
    SSH框架面试题
    创业起步?先收藏这份终极指南
    技术专题之-技术的概述
    技术专题之-技术概述的目录
    晶体管电路学习笔记
    转载 关于小波消失矩的理解
    关于射级跟随器中输出负载加重情况的理解
    小波分解和合成的simulink仿真
    小波变换工程实现原理总结
    小波变换的解释
  • 原文地址:https://www.cnblogs.com/wenhouniba/p/5299623.html
Copyright © 2011-2022 走看看