HadoopMapReduce运行机制
2024-09-07 12:42:34
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
最新文章
- Linux 相关基础笔记
- SGU 385 Highlander(期望)
- C#判断奇偶数的函數
- init进程 &;&; 解析Android启动脚本init.rc &;&; 修改它使不启动android &;&; init.rc中启动一个sh文件
- linux使用mysql的命令
- android 添加左右滑屏手势
- BZOJ 1458: 士兵占领( 网络流 )
- JSON缺包导致的错误
- php通过token验证表单重复提交
- JavaScript高级程序设计-8:BOM
- Elasticsearch Windows下安装及配置集群
- Jenkins入门之执行定时任务
- Centos7下用户登录失败N次后锁定用户禁止登陆的方法
- 《区块链生存训练2.0》PDF
- 搭建RDA交叉编译器
- How to program BMW KOMBI and NBTwith ENET E sys cable ICOM A2
- 20155304 《网络对抗》Exp9 web安全基础实践
- jenkins配置过程中踩过的一些坑
- .net core 调用数字证书 使用X509Certificate2
- Linux中Postfix邮件接收配置(四)
热门文章
- python基础一 day7 复习文件操作
- Asp.Net Core 入门(四)—— Model、View、Controller
- xshell通过xftp传输Windows文件到Linux:在输入put后,再摁 TAB 键,可显示当前文件夹的文件
- Navicat将表转为模型
- error: version in ";./docker-compose.yml"; is unsupported
- 总结Java开发者经常会犯的前十种错误
- INFORMATION_SCHEMA InnoDB 表
- react-native打包apk常见错误收集
- [第一波模拟\day3\T3]{益智游戏}(game.cpp)
- 如何在ASP.NET MVC为Action定义筛选器