zoukankan      html  css  js  c++  java
  • MapReduce原理

    以Wordcount为例,解释MapReduce工作原理

    • 结合图解释

        

          解释:MapReduce分为两部分,map阶段和reduce阶段。

             (1)map阶段是读取文件内容,将每行解析成键(key)值(value)对。key是字节的偏移量,value值是每一行的内容,每一键值对经过自定义的map函 数,形成新的key 和value。对输出的key,value进行分区.根据业务要求,把map输出的数据分成多个区。

            (2)shuffle:把map中的数据分发到reduce中去的一个过程,分组还是仍然是map的gognzuo neirong .按照key进行排序,分组.相同key的value放到一个集合中.(分组不是合并,只是把相同的key的value放到一起,并不会减少数据.分组是给了同一个map中相同key的value见面的机会.作用是为了在reduce中 进行处理.map函数仅能处理一行,两行中出现的这个单词是无法在一个map中处理的.map不能处理位于多行中的相同的单词.分组是为了两行中的相同 的key的value合并到一起.)

            (3)reduce阶段将分组的key和value进行自定义的reduce函数处理,生成新的key和value。

    • 结合代码解释

        

     注意:自定义的map函数每次只处理一行,自定义的reduce函数每次处理一组!!!

     

  • 相关阅读:
    shiro登录验证原理
    注解 java.lang.annotation.Inherited 介绍
    Spring Boot默认Initializer(1)——ConfigurationWarningsApplicationContextInitializer
    Java的static类
    Spring Boot中的initializers的作用分析
    2. Spring Boot项目启动原理初探
    1.Spring Boot入门及其jar包依赖模型分析
    关于正则式中的 |
    iOS :ViewDidAppear
    Xcode
  • 原文地址:https://www.cnblogs.com/wf1647790534/p/9332199.html
Copyright © 2011-2022 走看看