zoukankan      html  css  js  c++  java
  • shuffle一个简单的过程叙述性说明

    shuffle它是在map和reduce过程之间。我们看看在这个过程中的步骤,了解在这个问题上不深,有可能是一个错误。忘记修正

    1. map

    map出口key,value,里的context.write(key, value);。这个步骤是将key,value写到内存buffer里了,这个内存的默认大小是100M

    2. sort

    当数据大小超过buffer容量的80%(默认)时。会将这部分数据进行排序,依照partition和key值进行排序,partition代表的是会分到哪个reducer里

    3. 溢写

    排好序之后将数据写到磁盘上

    4. merge

    由于非常多时候不是一次溢写就能够了,可能会经过多次溢写。所以会在磁盘上产生多个文件,这个时候就须要将文件进行合并。

    5. copy

    通过http的方式将上一个步骤中的磁盘上的数据copy到相应的reduce端

    6. mergesort

    每一个map的输出端的文件时依照key排好序的,这个地方是对多个map端的文件依照key进行排序,边merge边sort

    7. reduce

    更具体的内容见这篇博文

    http://blog.csdn.net/nwpuwyk/article/details/37904657


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    BZOJ 3626: [LNOI2014]LCA(树链剖分+离线处理)
    python备用
    STL的使用。。备忘
    DP专题
    任务
    hdu 网络流题集
    hdu KM匹配题集
    hdu 差分约束题集
    hdu 2sat题集
    Codeforces Round #261 (Div. 2)
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4800623.html
Copyright © 2011-2022 走看看