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端输出压缩
代码更改

输出结果

相关推荐
小邓的技术笔记4 分钟前
DeepSeek 大模型落地应用与场景实战指南
大数据·人工智能
大大大大晴天️4 分钟前
读懂 StarRocks 架构:FE、BE、CN 与 MPP 查询链路协同
大数据·starrocks·olap
2601_962966649 分钟前
大学毕业可考取的市场营销专业实用证书指南
大数据·数据分析
北京晶数信息科技20 分钟前
基于现有数据采集系统与智慧监管平台的成品油智慧监管+交易即开票一体化解决方案 (一)
大数据
WA内核拾荒者1 小时前
WhatsApp 对话内容的质量评估体系与自动化检测方案
大数据·人工智能·自动化
爱吃糖醋红烧肉1 小时前
2026年|靠谱外贸独立站建站服务商深度测评!
大数据·独立站搭建·外贸建站·谷歌建站·外贸独立站建站服务商·谷歌独立站建站服务商·出海企业必看
Elastic 中国社区官方博客2 小时前
Elasticsearch:搜索教程 - 语义搜索(三)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
boppu11 小时前
布草特殊污渍去渍剂的种类及作用
大数据·人工智能
Achou.Wang12 小时前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
事变天下15 小时前
迈瑞的足球之夏:从一次救援到全球守护
大数据·科技