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

输出结果

相关推荐
2501_920953864 分钟前
工业4.0时代,制造企业精益管理咨询的标准化实施步骤
大数据·人工智能·制造
forestsea3 小时前
Elasticsearch 集群、Kibana和IK分词器:最新版 9.3.2 手动安装教程
大数据·elasticsearch·搜索引擎
Cx330❀3 小时前
一文吃透Linux System V共享内存:原理+实操+避坑指南
大数据·linux·运维·服务器·人工智能
木子ee3 小时前
LLM×MapReduce: Simplified Long-Sequence Processing using Large Language Models
大数据·语言模型·mapreduce
信-望-爱3 小时前
elasticsearch-analysis-ik各个版本下载
大数据·elasticsearch·搜索引擎
淡定一生23336 小时前
数据仓库建模方法
大数据·数据库·数据仓库
l1t6 小时前
DeepSeek总结的 PostgreSQL 19:为 UPDATE/DELETE 添加 FOR PORTION OF 子句
大数据·数据库·postgresql
老衲提灯找美女7 小时前
数据库事务
java·大数据·数据库
昨夜见军贴06167 小时前
AI报告文档审核助力本地化升级:IACheck如何支撑食品加工行业数据安全与质量协同发展
大数据·人工智能
财经资讯数据_灵砚智能7 小时前
全球财经资讯日报(日间)2026年4月2日
大数据·人工智能·python·语言模型·ai编程