我对maptask 和 reducetask的理解
2024-10-19 13:34:31
MapTask:
首先经过 FileInputFormat 判断该文件是否要进行切片,如果是我们自定义的FileInputFormat基本上重写isSplit方法返回为false表示不进行切片,那么就是直接输入这个文件
作为RecordReader读取的对象,RecordReader的nextKeyValue()方法中将输入的文件或者切片分割为key和value进行赋值,记住这一步骤如果返回为true就会一直无限循环下去,因为父级代码是while(nextKeyValue)
无限制调用,并且记住一点 ,一个文件或者切片对应一个maptask,是这个maptask的输入,并且也对应一个InputFormat.即一个文件或者切片对应一个InputFormat对象(包含一个RecordReader)
这个对象也只对应一个maptask,RecordReader的nextKeyValue的key和value就是map方法的输入值。
ReduceTask:
一个reduceTask对应一个OutputFormat,但是有一点不要混淆,就是一个reduceTask中reduce方法可以被调用多次,而且如果设置了分区,那么分区数等于reduceTask数量,也就是
一个reduceTask只会处理一个分区的数据,多个reduceTask对应多个OutputFormat(包含RecordWriter)对象,每组(一个reduceTask和OutputFormat是一组)都是独立的
最新文章
- 论文阅读(Xiang Bai——【TIP2014】A Unified Framework for Multi-Oriented Text Detection and Recognition)
- Struct Member Default Value
- 从linux内核代码分析操作系统启动过程
- android 开发-自定义多节点进度条显示
- 河南省第八届ACM省赛---引水工程
- badboy 录制脚本并并发脚本
- VMware静态地址上网
- 合肥.NET技术社区首次线下聚会全程回顾【多图】
- html link JS
- [转] pytorch指定GPU
- Maya API Test
- 【ASP.NET】UCenter实现多站点同步注册
- CentOS 7 使用 ACL 设置文件权限
- spring生命周期流程图
- Selenium-WebDriverApi接口详解
- ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(5)- 创建项目结构
- PAT甲题题解-1037. Magic Coupon (25)-贪心,水
- Nginx配置直接php
- transform 动画效果
- Java线程和多线程(十三)——Callable,Future,FutureTask
热门文章
- 整理全网最全K8S集群管理工具、平台
- 多选菜单shell脚本
- [luogu P1312]Mayan游戏
- 如何保存并复制python虚拟环境
- 关于使用学生或者教师身份免费使用JetBrains全家桶的说明
- ApacheCN Java 译文集 20211012 更新
- CodeForces 摆烂寄录
- 分布式缓存——Redis
- 连接mysql出现“Unable to load authentication plugin 'caching_sha2_password”错误
- jsp include html 乱码问题