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的数目不能大于分区数目

相关推荐
YangYang9YangYan9 分钟前
资金分析校招 JD 拆解,现金流建模与数据分析能力怎么准备
大数据·人工智能·数据分析
名不经传的养虾人11 分钟前
从0到1:企业级AI项目迭代日记 Vol.110|协作有了预算,延迟有了归因,知识有了保真
大数据·人工智能·机器人·ai编程·企业ai
蓝速科技17 分钟前
会议室门牌显示模板选型与品牌视觉适配落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
LONGZETECH28 分钟前
深入拆解无人机组装四大技术难关:焊接、接线、调参、转向校验
大数据·人工智能·系统架构·无人机
GlobalInfo31 分钟前
机器人力控采集芯片全球市场深度分析:人形机器人分布式力感知下的24位Delta-Sigma与多通道同步博弈
大数据·人工智能·ai·机器人
智购科技自动贩卖机33 分钟前
自动售货机嵌入式系统时钟同步与时间管理实战:从RTC校准到断网时间保持的工程实践
大数据·linux·数据库·人工智能·yolo
雨辰AI34 分钟前
多租户数据库资源配额管控|避免租户资源抢占雪崩(金仓 / 达梦 / 高斯 /openGauss 全库原生适配)
java·大数据·数据库·后端
IT研究室35 分钟前
最新大数据毕业设计选题推荐-基于大数据的热带气旋数据分析与可视化-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计
西索斯coding37 分钟前
GPT-5.6-Luna 接入 Cline 教程:base_url 配置、max_tokens 上限与 ZDR 请求头写法
大数据·人工智能·gpt·ai
计算机源码社1 小时前
基于大数据的全球温室气体排放燃料结构与碳强度评估研究-基于Spark的全球温室气体排放多维度检测与评估分析
大数据·hadoop·python·数据挖掘·数据分析·spark·毕业设计