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)上升到构架:以统一构架为程序员隐藏系统层细节

  • 相关阅读:
    ios input readonly失效(点击的时候会有光标出现)/禁止输入法弹出问题
    sublime格式化
    菜单栏展开关闭效果(1)
    做数字判断显示相应的图标
    判断img的src为空/点击时候两张图片来回替换
    numpy
    pat甲级1085
    pat甲级1107
    2018.9.8pat秋季甲级考试
    pat甲级1044二分查找
  • 原文地址:https://www.cnblogs.com/wenhouniba/p/5299623.html
Copyright © 2011-2022 走看看