mapreduce流程

* 客户端通过hadoop fs -put/bigdata命令 将元数据切分成块存放在HDFS上,且每一个块我们给大小128M* 之后我们将每一个block块通过逻辑切片,切成一个个split()切片,一般,我们的默认切片大小跟block块保持一致,如果我们读到最后一个block块,与前一个block块组合起来的大小小于140M,将最后两个split()切片块结合成一个新的split()切片,并且我们的逻辑切片的数量决定了将来产生map任务的数量,生成了一个个map任务
随着我们资源不同,可以适当的调整split切片大小1.资源充足: 适当的调小split切片的大小-> split数量就会变多->map任务也就变多了
2.资源紧张: 适当的增大split切片的大小 -> split数量变少-> map任务 也会变少* 当我们的数据一旦进入了map任务中,就会被封装成<K,V>键值对格式,再继续向后处理。
map任务的工作内容:将每一个map内容的处理逻辑进行统一,且我们读取每一行数据都会执行一遍map方法逻辑* map任务键值对的结果会优先的进入环形缓冲区   根据建进行编号map输出格式,之后我们要对建进行编号,编号的方式取决于reduce的个数(reduce的个数我们要在mapreduce之前设置好,默认只提供一个reduce)
编号完成之后要对环形缓冲区的键值对数据进行排序(快速排序),将我们相同的编号放在一起
当环形缓冲区的内容达到80%的时候向磁盘将这80%进行溢写,形成一个小文件环形缓冲区小文件的个数,取决于:
1.溢写的百分比,若百分比很小,那么存入磁盘的文件就会很多
2。split切片的大小,若切片很大,那么一个map任务处理的数据量就会很大,那么就会有很多的80%溢写,生成很多的小文件*然后我们将多个同缓冲区溢写形成的文件,进行归并排序,形成一个新的文件 以上是map阶段
* 我们将map结果文件的同一分区编号的数据,拉取到reduce中,形成一个文件
我们拉取的次数越多产生的小文件也就越多,将分区编号去掉进行归并排序,相同的建为一组值形成了一个迭代器,形成了一个新的键值对
将上述的结果,再交给reduce任务进行处理(注意我们每一个分组后的键值对都会执行一遍reduce方法逻辑)
* 最后我们的reduce 的结果也是在hdfs中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/826805.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git 仓库版本管理

选择微信Git 在微信官方平台创建git仓库 相关命令提交首次提交使用 git push -u origin master开发者工具可选择手动提交进行相关操作

“双11”背后:有内容的货架才是未来的货架

消费者想轻松愉悦享受购物的过程;商家希望好货有好出口,找到生意的增量;平台希望消费者买得开心,不仅价格好还要体验好。 今年抖音商城双11活动启动很早,截至10月20日,抖音商城整体GMV同比增长91%,搜索GMV增长77%,商品卡GMV增长64%,超10000个品牌成交同比翻倍:货架场…

Mol Plant | 程时锋综述:植物基因组重测序与群体基因组学

分享一篇2023年7月25日发表在Molecular Plant上的一篇综述文章:“Plant genome resequencing and population genomics: Current status and future prospects”,总结了植物基于群体的基因组重测序研究的进展以及这些研究对作物育种的影响。全文摘要 这篇论文总结了植物基因组…

学术界打怪升级与基金项目有哪些?

声明:综合整理自网络,如侵权请联系我们删除本文来自博客园,作者:生物信息与育种,转载请注明原文链接:https://www.cnblogs.com/miyuanbiotech/p/18526302。若要及时了解动态信息,请关注同名微信公众号:生物信息与育种。

高级语言程序设计作业 11/04

2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C 高级语言程序设计课程第五次作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13303 学号:102400215 姓名:胡加乘1 2 #include <iostream> #include <cmath>using namespace std;/* ba…

人工智能发展简史与展望

来源:数据分析及应用本文来自博客园,作者:生物信息与育种,转载请注明原文链接:https://www.cnblogs.com/miyuanbiotech/p/18526265。若要及时了解动态信息,请关注同名微信公众号:生物信息与育种。

罗锡文院士:智慧农业的关键技术与实践

国外提出精准农业是在上世纪八十年代末九十年代初,我们国家从上世纪九十年代末和本世纪也开展了精准农业研究。国家高度重视智慧农业发展,2012年中央一号文就提出了要开展农业科技研究,这几年在中央一号文中也都提出要大力发展智慧农业。 什么是智慧农业?我们可以用数据化来…

实验三 类和对象 基础编程2

实验任务11,自定义了两个类分别是window类和button类 使用了标准库中的iostream vector string 2,不适合3定义了一个字符串长度为40 实验任务21 #include <iostream>2 #include <vector>3 4 using namespace std;5 6 void output1(const vector<int> &…

2024年软科中国大学专业排名(生物学、作物学、农学等)

2024年10月15日,高等教育评价专业机构软科正式发布“2024软科中国最好学科排名”。排名榜单包括94个一级学科,各个学科排名的对象是在该一级学科设有学术型研究生学位授权点的所有高校(截止到2023年底),发布的是在该学科排名前50%的高校,共有486所高校的4924个学科点上榜…

MES管理系统(期中)

写在最前 自学的话是跟着b站上黑马程序员的视频和文档资料,看的是这个视频建议在黑马公众号,获取课程资料,跟着课程资料里的ppt或md文档自学,实在看不懂的在去看视频,如果一集一集刷,耗时 MES管理系统 1.新建一个java的maven项目2.maven中导入相关依赖 (需要学习maven相关知识)…

这款Chrome 插件,帮助我们复制网页上不能复制的内容

前言 最近在上网查找博客时,经常遇到想要复制网页上的内容,但是,一点击复制,就会弹出来各种各样的弹框,导致复制不能继续,非常麻烦。这时,我想到了一个办法,那就是下载安装一个chrome插件,那今天就介绍给大家,让大家上网复制文本时可以任性。 如何复制 首先,我们需要…

中国工程院院士赵春江:农业大模型与知识服务平台

近日,CAAI副理事长、中国工程院院士、国家农业信息化工程技术研究中心主任赵春江作《农业大模型与知识服务平台》主旨报告,探讨如何利用大规模预训练模型处理农业领域的复杂问题,为农业生产提供精准决策支持,提升农业生产效率和可持续性。 同时还将分享知识服务平台的建设情…