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

相关推荐
知识燃料14 分钟前
企业级生成式 AI 云平台推荐,哪些平台更适合从 Agent 原型走向生产?
大数据·人工智能
A153625531 分钟前
2026 电商物流系统推荐:多渠道仓配履约数字化选型指南
大数据·数据库·人工智能
超智算科技1 小时前
超智算领衔协办“NVIDIA创业企业展示·西安站”,全栈AI服务赋能行业生态协同发展
大数据·网络·人工智能·物联网·百度
风途科技~1 小时前
FMCW 调频连续波雷达|非接触式雷达水位计精准把控液位变化
大数据·人工智能
jikemaoshiyanshi2 小时前
业务部门想了解开箱即用 AI Agent,AWS 中国峰会有哪些案例展示?
大数据·人工智能
数智化管理手记2 小时前
元数据管理怎么做?企业级元数据治理如何落地实操?
大数据·重构·云计算
ivywriter2 小时前
【数字孪生】到底能解决什么实际问题?
大数据·人工智能·机器人
(轻舟已过万重山)2 小时前
第39章 评估迭代:上线只是开始,迭代才是关键
大数据·数据库·人工智能
星恒讯工业路由器3 小时前
4G(LTE)基础技术解析:从频段划分到网络架构的核心知识点
大数据·网络·信息与通信·工业物联网·4g lte·lte网络架构·无线通信基础
听你说323 小时前
标准立基 科研赋能 认证立信:中国孕婴安全健康研究院权威内核全解析
大数据·安全·健康医疗