Hadoop---MapReduce(3)

MapTask工作机制

(1)Read阶段 :MapTask通过InputFormat获得的RecordReader,从输入InputSplit中解析出一个个key/value。

(2)Map阶段 :该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。

(3)Collect收集阶段 :在用户编写map()函数中,当数据处理完成后,一般会调用OutputCollector.collect()输出结果。在该函数内部,它会将生成的key/value分区(调用Partitioner),并写入一个环形内存缓冲区中。

(4)Spill阶段 :即"溢写",当环形缓冲区满后,MapReduce会将数据写到本地磁盘上,生成一个临时文件。需要注意的是,将数据写入本地磁盘之前,先要对数据进行一次本地排序,并在必要时对数据进行合并、压缩等操作。

溢写阶段详情:利用快速排序算法

(5)Merge阶段:当所有数据处理完成后,MapTask对所有临时文件进行一次合并,以确保最终只会生成一个数据文件。

Reduce-join案例

将左边两个表合并为右边的表

数据清洗(ETL)

在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序。
原始数据:

清洗后的数据

Hadoop数据压缩


Map端输出压缩

运行后不会产生.bzip

reduce端输出压缩
代码更改

输出结果

相关推荐
数据猿3 小时前
【金猿人物展】海尔智慧家尹德帅:以数据智能重构智慧家庭生态,引领场景品牌数字化转型新范式
大数据·人工智能·重构
科技块儿3 小时前
电商风控实战:如何利用访客IP防控有效识别刷d行为?
大数据·网络协议·tcp/ip
MoonBit月兔3 小时前
生态影响力持续提升,MoonBit 登 2025 中国技术品牌影响力榜单
大数据·人工智能·ai编程·moonbit
xiaolilaoshi6663 小时前
备战浙大MBA复试,紧盯国家线有瑕疵!
大数据
宸津-代码粉碎机4 小时前
Spring 6.0+Boot 3.0实战避坑全指南:5大类高频问题与解决方案(附代码示例)
java·数据仓库·hive·hadoop·python·技术文档编写
CES_Asia5 小时前
亚洲科技话语权之争:CES Asia 2026核心展区席位进入收官阶段
大数据·人工智能·科技·物联网·机器人
quant_19865 小时前
如何处理大规模行情数据:从源头到终端的实战教程
大数据·开发语言·经验分享·python·金融
房产中介行业研习社5 小时前
市面上比较主流的房产中介管理系统有哪些推荐?
大数据·人工智能·房产直播技巧·房产直播培训
云器科技6 小时前
NinjaVan x 云器Lakehouse: 从传统自建Spark架构升级到新一代湖仓架构
大数据·ai·架构·spark·湖仓平台
泰迪智能科技6 小时前
分享|2025年广东水利电力职业技术学院泰迪数据智能产业学院订单班结业典礼圆满结束
大数据·人工智能