1.map方法读取一个文件的一行记录进行分析,  输入:LongWritable(当前读取的文件位置), Text(内容)

2.map将读取到的信息进行分类,输入Context  (键值对)  ;作为Reduce 的输入数据:

  1)其中reduce 中的输入数据的先后是有顺序的,reduce-task 会先将所有的输入数据的Key先做一个排序

  2)然后先处理输入的每一组数据按key的排序依次处理,

3.如何分组输入的所有的map结果中的key,mapreduce 使用的是一个GroupingComparator的类,的compare(o1,o2) 方法,如果方法放回0则相等;

3.当所有的map运行完后,mapreduce 框架 会通过一个Patitioner 类进行reduce输入数据的分发.

默认的分发规则为:通过比较两个key的hashCode值与reduce个数取摩,

/** Use {@link Object#hashCode()} to partition. */
public int getPartition(K2 key, V2 value,
int numReduceTasks) {
return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks;
}返回的摩就是目标reduce task

最新文章

  1. Linux 相关基础笔记
  2. SGU 385 Highlander(期望)
  3. C#判断奇偶数的函數
  4. init进程 && 解析Android启动脚本init.rc && 修改它使不启动android && init.rc中启动一个sh文件
  5. linux使用mysql的命令
  6. android 添加左右滑屏手势
  7. BZOJ 1458: 士兵占领( 网络流 )
  8. JSON缺包导致的错误
  9. php通过token验证表单重复提交
  10. JavaScript高级程序设计-8:BOM
  11. Elasticsearch Windows下安装及配置集群
  12. Jenkins入门之执行定时任务
  13. Centos7下用户登录失败N次后锁定用户禁止登陆的方法
  14. 《区块链生存训练2.0》PDF
  15. 搭建RDA交叉编译器
  16. How to program BMW KOMBI and NBTwith ENET E sys cable ICOM A2
  17. 20155304 《网络对抗》Exp9 web安全基础实践
  18. jenkins配置过程中踩过的一些坑
  19. .net core 调用数字证书 使用X509Certificate2
  20. Linux中Postfix邮件接收配置(四)

热门文章

  1. python基础一 day7 复习文件操作
  2. Asp.Net Core 入门(四)—— Model、View、Controller
  3. xshell通过xftp传输Windows文件到Linux:在输入put后,再摁 TAB 键,可显示当前文件夹的文件
  4. Navicat将表转为模型
  5. error: version in "./docker-compose.yml" is unsupported
  6. 总结Java开发者经常会犯的前十种错误
  7. INFORMATION_SCHEMA InnoDB 表
  8. react-native打包apk常见错误收集
  9. [第一波模拟\day3\T3]{益智游戏}(game.cpp)
  10. 如何在ASP.NET MVC为Action定义筛选器