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

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

最新文章

  1. SortedMap基本特性
  2. JavaScript正则详谈
  3. MFC学习 消息钩子使用
  4. 【测试】模拟一个全表扫描的sql,对其进行优化走索引,并且将执行计划稳定到baseLine。
  5. WEBUS2.0 In Action - 搜索操作指南 - (4)
  6. php curl 基本用法
  7. Kafka测试
  8. Android学习总结——SQLite
  9. Universal Image Loader_图片异步加载
  10. 3.移植uboot-使板卡支持nor、nand
  11. ------- 当前全球最新的 IPv4 地址池使用报告 -------
  12. 《HelloGitHub》第 23 期
  13. 1091. Acute Stroke (30)
  14. js - 伪数组转化为数组的几种方法整理(更新中...)
  15. python3 urllib.parse 常用函数
  16. DispatcherServlet源码分析
  17. Spring Boot项目中使用Swagger2
  18. (转)win下修改jdk环境变量后,java版本不变 java -version
  19. [Issue]git做rebase时,弹出编辑器为nano,不会使用
  20. MathUtils BigDecimal 数字工具类

热门文章

  1. Ubuntu12.04下载Repo
  2. asp.net Login控件基本属性及事件说明
  3. JAVA 命令参数详解System.setProperty(
  4. Spark1.0.0 属性配置
  5. android 自己定义开关(SwitchButton)
  6. ThinkPHP实现用户登录
  7. The JSR-133 Cookbook for Compiler Writers(an unofficial guide to implementing the new JMM)
  8. OPENVPN开启用户password认证
  9. asp.net不能调试,配置一切正常
  10. JAVA程序生成XML标准化的文件格式,缩进,美化。