Hadoop MapReduce

MapReduce 分为两个阶段,分为Map 阶段和Reduce 阶段,可以自定义map函数reduce函数

map函数 的输入是行在文件的字节偏移量 ,value是文件的一行数据

reduce函数 的输入是key 和对应key的value组 ,然后reduce函数 可以对这一组数据进行处理

再来看mapreduce是如何实现的,因为可以知道reduce阶段value是一组 的,包括mapreduce还发生了文件读取写入文件的操作,包括一些序列化

有一个文件 时,文件 在底层操作系统 是很多个数据块

map 是以数据切片 逻辑进行处理 的,所以当读取文件数据 时,会对物理文件 进行逻辑切片 ,然后一个切片 就对应一个MapTask尽量 保证切片大小等于数据块大小 ,让一个MapTask 直接本地处理加快处理速度

Map 阶段处理逻辑 ,map读入文件的每行数据 ,然后以key-value 的方式处理输出到一个分区 ,输出到哪个分区 取决于默认 的还是自定义分区处理 了,默认 是根据键的哈希值确定分区

分区 其实是先保存到一个环形缓存区 ,当环形缓存区达到一定阈值 的时候,就会把缓冲区数据落盘落盘前 会对分区内数据 进行快速排序 ,如果有多个小文件 ,会对多个小文件进行归并排序 ,合成一个大文件,然后分区和reduceTask的数量一样

reduce 阶段,reduce可会读取所有mapTask 对应分区的所有文件 ,如果有多个文件 ,也会进行归并排序 ,这样就保证了Reduce函数的输入里的value,是一个相同Key的value集合 。然后经过reduceTask函数进行数据处理,最终输出,输出文件数 也跟reduceTask的个数 相关,reduceTask的数目不能大于分区数目

相关推荐
志栋智能21 分钟前
告别高昂投入:超自动化IT运维的轻量化实践
大数据·运维·网络·人工智能·自动化
腾视科技TENSORTEC26 分钟前
腾视科技TS-SG-SM7系列AI算力模组:32TOPS算力引擎,开启边缘智能新纪元
大数据·人工智能·科技·ai·ai算力模组·ai模组·ainas
大黄说说1 小时前
微信小程序制作平台有哪些?
大数据
黎阳之光2 小时前
AI数智筑防线 绿色科技启新篇——黎阳之光硬核技术赋能生态安全双升级
大数据·人工智能·算法·安全·数字孪生
九硕智慧建筑一体化厂家2 小时前
碳综合管控系统是什么?企业全链路能碳管理的核心载体
大数据
无心水2 小时前
时间处理工程落地指南:数据库/日志/API/定时任务
java·大数据·数据库·日志·分布式架构·utc·gmt
紧固视界2 小时前
不锈钢标准件有哪些?种类与用途详解_6月上海紧固件展
大数据·物联网·上海紧固件展·紧固件展·上海紧固件专业展
ApacheSeaTunnel2 小时前
从 Apache SeaTunnel 走向 ASF Member:一位开发者的长期主义样本
大数据·开源·数据集成·seatunnel·数据同步
Lalolander3 小时前
工厂工艺管理进阶:SMT生产阶别如何实现精细化管控?
大数据·制造·mes·制造执行系统·工厂管理系统·工厂生产进度管理·工厂工单管理
黎阳之光4 小时前
黎阳之光:数智技术赋能水利“平急两用” 筑牢水利工程安全防线
大数据·人工智能·算法·安全·数字孪生