zoukankan      html  css  js  c++  java
  • 大数据笔记10:大数据之Hadoop的MapReduce的原理

    1. MapReduce(并行处理的框架)

    思想:分而治之,一个大任务分解成多个小的子任务(map),并行执行后,合并结果(Reduce

    (1)大任务分解成多个小任务,这个过程就是map

    (2)多个小任务结果的合并,这个过程就是Reduce

    2.通过一个案例说明MapReduce思想如下:

          一副牌(不含大小王)有52张,共有1000副牌,也就是说应该有52000张扑克牌,但是如果其中少了1张,也就是变成了51999张扑克牌,如下:

    现在少了1张牌,我们想把它找出来,该怎么办呢?

    (1)第1步:首先我们把这个51999张牌,分成5份(相当于map操作,一个大任务分解成多个小任务):

    这里把51999张牌,分成5份(随机分配,可以不均等),分成给5个人去做

    (2)第2步:51999张牌,分成5份,分给5个人去做,这5个人的中每个人都执行map tasks操作,如下:

    每个map tasks任务都是各自执行统计扑克牌中不同花色以及不同花色的数量(每个map tasks都是针对分配给自己那一份扑克牌进行操作

    (3)第3步:进行数据交换操作,如下:

    (4)第4步:对数据进行规约操作,规约就是把上面不同map tasks得到结果" 合并同类项 ",进行再次统计如下:

    e.g:

    (5)第5步:导出了统计结果。

  • 相关阅读:
    IoC和AoP
    学习树
    Avalon Framework概念
    java利用WatchService实时监控某个目录下的文件变化并按行解析
    [DBT-08001] 无法检查可用内存。
    C#之http协议与soap协议之间的区别
    C#之ActionResult 详解
    C#实现连接池
    C#MVC之传入字典的模型项为 null,但此字典需要类型“System.Decimal”的非 null 模型项。
    Func的介绍
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4823038.html
Copyright © 2011-2022 走看看