zoukankan      html  css  js  c++  java
  • Hadoop Mapreduce中shuffle 详解

    MapReduce 里面的shuffle:描述者数据从map task 输出到reduce task 输入的这段过程

    Shuffle 过程:

    首先,map 输出的<key,value > 会放在内存中,内存有一定的大小,超过之后,会将内存里的东西溢写(spill) 到磁盘(disk)中 。在从内存溢写到磁盘的过程中,会有两个操作:分区(parttition),排序(sort)。map结束之后,磁盘中会有很多文件 。

    有很多小文件,需要将文件进行文件的合并,并且排序。map 中的一些map任务可能结束....

    合并的大文件,存在map task 运行的本地磁盘,reduce task 会去map task 运行机器上拷贝要处理的数据,多个reduce task 拷贝的数据,也得进行merge,并且排序。然后进行分组(将相同的key 的value 放在一起),然后调用reduce 方法。

    map输出的<key,value> 和 reduce 输入的<key,value> 的数据类型一致

    综上所述:

         分区  partition

         排序 sort

         copy  用户无法干涉

         分组  group

         压缩 compress 可设置

         combiner

  • 相关阅读:
    如何学好编程
    进制转换
    第五周学习总结 20201204 于瀛鹏
    xor运算
    20201204 于瀛鹏 第四周学习总结
    20201204 于瀛鹏 第三周学习总结
    IEEE754浮点数
    base64编码
    罗马数字(1-3999)转阿拉伯数字
    俄罗斯方块
  • 原文地址:https://www.cnblogs.com/pickKnow/p/10773403.html
Copyright © 2011-2022 走看看