千家信息网

以MapReduce编程五步走为基础,说MapReduce工作原理

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,在之前的Hadoop是什么中已经说过MapReduce采用了分而治之的思想,MapReduce主要分为两部分,一部分是Map--分,一部分是Reduce--合MapReduce全过程的数据都是以键值对
千家信息网最后更新 2025年12月01日以MapReduce编程五步走为基础,说MapReduce工作原理

在之前的Hadoop是什么中已经说过MapReduce采用了分而治之的思想,MapReduce主要分为两部分,一部分是Map--分,一部分是Reduce--合

MapReduce全过程的数据都是以键值对的形式存在的
如果你想了解大数据的学习路线,想学习大数据知识以及需要免费的学习资料可以加群:784789432.欢迎你的加入。每天下午三点开直播分享基础知识,晚上20:00都会开直播给大家分享大数据项目实战。

首先,我们假设我们有一个文件,文件中存了以下内容

hive spark hive hbase
hadoop hive spark
sqoop flume scala

这里涉及到一个偏移量(一个字符或空格为1位)
第一行的偏移量为0,内容为"hive spark hive hbase"
第二行的偏移量为21,内容为"hadoop hive spark"
第三行的偏移量为39,内容为"sqoop flume scala"

Map
输入
MapReduce处理的数据是从HDFS中读出来的
以偏移量为key,内容value,则存在:
(0,"hive spark hive hbase")
(21,"hadoop hive spark")
(39,"sqoop flume scala")
输出
将输入的value中的词以空格为分割逐个取出来做key,1做value存起来
(hive,1)
(spark,1)
(hive,1)
(hbase,1)
(hadoop,1)
注意:有多少行,Map就要循环做几次
shuffle(之后会详细说,这里简单解释)
输入
map的输出
输出
相同的key的value进行合并
这里合并不是进行累加或别的运算,而是合并到一个集合中
(hive,[1,1,1])
(spark,[1,1])
(hbase,[1])
(hadoop,[1])
。。。。。。
reduce
输入
shuffle的输出
输出
根据业务将value进行合并
例如当前的业务就会将value进行累加
MapReduce处理数据五步走
整个MapReduce程序,所有数据以(key,value)形式流动

第一步:input
正常情况下不需要写代码
仅仅在MapReduce程序运行的时候指定一个路径即可

第二步:map(核心)
map(key,value,output,context)
key:每行数据的偏移量--基本没用
value:每行数据的内容--真正需要处理的内容

第三步:shuffle
不需要写代码

第四步:reduce(核心)
reduce(key,value,output,context)
key:业务需求中的key
value:要聚合的值

第五步:output
正常情况下不需要写代码
仅仅在MapReduce程序运行的时候指定一个路径即可

工作原理
这里写图片描述

内容 数据 偏移 输出 输入 业务 代码 程序 处理 学习 形式 情况 文件 时候 核心 知识 空格 路径 直播 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发质量经验分享 易搜网络技术 购买ESI数据库的学校 南宁网络安全宣传周宣传主题 网游一个服务器能用多少人 电脑服务器自检进不了系统 郏县精算互联网科技有限公司 批量更新数据库语句 武汉上位机软件开发兼职 查询数据库出现空指针异常 电子商务软件开发服务公司 美丽加互联网科技有限公司 怎么关掉腾讯网络安全中心 第六界中国网络安全大会 浙江管理软件开发中心 网络安全建议女生学吗 福建通用软件开发代理价格 镇江海航软件开发诚信合作 广州酷网络技术有限公司 网络安全法律法规作品 电子数据库正式上线 注意网络安全的好处 服务器日常维护手册 工商联会员企业数据库 电子商务软件开发服务公司 常州app软件开发公司 中国医学生物文献数据库免费账号 达梦数据库导入dmp很慢 周村染整管理软件开发公司 教育资助数据库建设计划
0