Hadoop MapReduce

MapReduce分为两个阶段,分为Map阶段和Reduce阶段,可以自定义map函数reduce函数
在这里插入图片描述

map函数的输入是行在文件的字节偏移量,value是文件的一行数据

reduce函数的输入是key和对应key的value组,然后reduce函数可以对这一组数据进行处理

再来看mapreduce是如何实现的,因为可以知道reduce阶段value是一组的,包括mapreduce还发生了文件读取写入文件的操作,包括一些序列化

有一个文件时,文件在底层操作系统是很多个数据块

map是以数据切片逻辑进行处理的,所以当读取文件数据时,会对物理文件进行逻辑切片,然后一个切片就对应一个MapTask尽量保证切片大小等于数据块大小,让一个MapTask直接本地处理加快处理速度

Map阶段处理逻辑,map读入文件的每行数据,然后以key-value的方式处理输出到一个分区,输出到哪个分区取决于默认的还是自定义分区处理了,默认是根据键的哈希值确定分区

分区其实是先保存到一个环形缓存区,当环形缓存区达到一定阈值的时候,就会把缓冲区数据落盘落盘前会对分区内数据进行快速排序,如果有多个小文件,会对多个小文件进行归并排序,合成一个大文件,然后分区和reduceTask的数量一样

reduce阶段,reduce可会读取所有mapTask对应分区的所有文件,如果有多个文件,也会进行归并排序,这样就保证了Reduce函数的输入里的value,是一个相同Key的value集合。然后经过reduceTask函数进行数据处理,最终输出,输出文件数也跟reduceTask的个数相关,reduceTask的数目不能大于分区数目

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

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

相关文章

FebHost:墨西哥外贸独立站为何钟情于.MX域名?

在数字化时代的大潮中,墨西哥的互联网用户对于 .mx 域名展现出了浓厚的兴趣。这一现象背后的原因引发了广泛的关注。 首先,本地相关性无疑是 .mx 域名吸引墨西哥用户的重要因素。当用户在网络世界中漫游时,一个带有 .mx 域名的网站往往能迅速…

DSO9254A安捷伦DSO9254A示波器

181/2461/8938产品概述: 安捷伦DSO9254A的带宽为2.5 GHz,配备15英寸XGA液晶显示屏,采用静音封装,厚度仅为9英寸(23厘米),重量仅为26磅(11.8千克)。DSO9254A集成了一个功…

MongoDB初探:安装与图形化界面保姆级使用指南

文章目录 前言一、MongoDB下载安装下载解压配置环境变量打开mongoDB 二、配置本地MongoDB服务创建文件下载服务测试服务 三、图形化界面Compass GUINavicat GUI 总结 前言 MongoDB是一种流行的开源、面向文档的NoSQL数据库程序。与传统的关系型数据库不同,MongoDB将…

观《你想活出怎样的人生》有感

《你想活出怎样的人生》 四月六号,和赵茜小美女观看了宫崎骏导演拍的《你想活出怎样的人生》,感受颇丰,特此写一篇文章以记之。 电影简介 《你想活出怎样的人生》是宫崎骏执导的动画电影,不仅是宫崎骏的复出之作,也…

【LeetCode热题100】74. 搜索二维矩阵(二分)

一.题目要求 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,…

【第六篇】使用BurpSuite重发请求

在研究目标网站对不同输入的响应时,不必每次都拦截请求,否则造成时间浪费,我们可使用 Burp Repeater 模块实现重发。 如图,我们可以选择某个请求包,单击右键,将其发送至Repeater模块: 接着&…

day03-Docker

1.初识 Docker 1.1.什么是 Docker 1.1.1.应用部署的环境问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异 例如一个项目中,部署时需要依…

基于51单片机电子钟万年历设计—LCD1602显示

基于51单片机电子钟万年历设计 (仿真+程序+设计报告) 功能介绍 具体功能: 1.DS1302记录时间; 2.LCD1602实时显示日期、星期、时分秒; 3.按键设置日期、时间、闹钟; 4.使用蜂鸣器…

【线段树】1622. 奇妙序列

本文涉及知识点 设计 数学 线段树 本文基础解法 【设计】 【数学】1622 奇妙序列 LeetCode1622. 奇妙序列 请你实现三个 API append,addAll 和 multAll 来实现奇妙序列。 请实现 Fancy 类 : Fancy() 初始化一个空序列对象。 void append(val) 将整数…

Ubuntu下TexStudio如何兼容中文

怎么就想起来研究一下这个? 我使用大名鼎鼎的3Blue1Brown数学动画引擎Manim,制作了一个特别小的动画视频克里金插值。在视频中,绘制文字时,Manim使用到了texlive texlive-latex-extra这些库。专业的关系,当年的毕设没…

OKR管理模式:企业新引擎,驱动未来发展

在当今竞争激烈的市场环境中,越来越多的企业开始采用OKR(Objectives and Key Results,目标与关键成果)管理模式,以期解决一系列发展难题,驱动企业向前发展。OKR作为一种目标管理工具,旨在帮助企…

IT管理者需要熟知的思维模型

一、萨提亚冰山模型 萨提亚冰山模型是一种心理学概念,用来描述人类行为和情绪的本质和来源。它最早由心理学家弗洛伊德提出,被视为心理动力学理论的核心概念之一。该模型将人的心智分为三个层次:无意识、前意识和意识。无意识代表着个体无法直接意识到的心理内容,如欲望、冲…