首页 > 其他分享 >MapReduce流程

MapReduce流程

时间:2024-05-15 17:08:21浏览次数:10  
标签:map 文件 流程 reduce MapReduce 拉取 缓冲区

MapReduce流程

将文件上传到HDFS中,默认每128M切分为一个block块,

MapReduce会对数据进行逻辑上的切片(split),并不是实际上的切分,默认与block块的大小一致为128M,

根据split切分产生map任务,切片越多产生的map任务就越多,map默认每次读取一行数据,map阶段产生的数据会进入环形缓冲区中(基于内存设计的一种数据结构,大小默认为100M),

map根据reduce的数量(默认数量为1)以及数据本身的值进行分区编号(底层与哈希值有关),然后会进行快速排序,(这里编号的作用是决定这条数据会被哪一个reduce进行拉取聚合处理)

当写入环形缓冲区的数据达到环形缓冲区的80%的时候开始向磁盘溢写一个小文件,

当环形缓冲区的写到磁盘结束之后,会创建一个新的进程将小文件进行归并排序成一个新的文件,这个文件就是map任务的结果文件,这个文件也是排序好了的

reduce会对这些map任务的结果文件进行拉取操作,拉取属于自己的结果数据,有几个map任务的结果文件就拉取几次,

拉取过后会先将分区编号去掉,然后对这些数据进行归并排序,归并完成执行reduce任务,每个reduce会生成一个结果文件,最终这些文件还是在HDFS上的

MapReduce流程

MapReduce流程

标签:map,文件,流程,reduce,MapReduce,拉取,缓冲区
From: https://www.cnblogs.com/peculiar/p/18194287

相关文章

  • HDFS写数据微观流程
    HDFS微观流程每个block块都被划分成多个大小为64k的paccket每个paccket中都有两个部分组成,一个是packetHeader,一个是packetDatapacketHeader存储一些变量值:pktlen:(packet总长度)、offsetInBlock:(记录当前packet在blocck中的位置)、seqNo:(在同一个block块中的唯一编号(序列号))la......
  • HDFS写数据宏观流程
    HDFS写数据宏观流程客户端使用rpc通信框架向NameNode发送请求,NameNode接收并处理用户请求,同时检测用户是否拥有上传文件操作的权限。磁盘空间是否可用,路径是否存在,NameNode会针对这个文件创建一个空的Entry对象,并返回成功的状态给DFS,如果DFS接收到成功的状态,会创建FSDataOutPut......
  • Python基础篇(流程控制)
    流程控制是程序运行的基础,流程控制决定了程序按照什么样的方式执行。条件语句条件语句一般用来判断给定的条件是否成立,根据结果来执行不同的代码,也就是说,有了条件语句,才可以根据不同的情况做不同的事,从而控制程序的流程。ifelseif条件成立,执行if内的命令;否则条件不成立,则......
  • 流程控制语句
    流程控制语句1Scanner控制台输入使用方式:导包:importjava.util.Scanner;创建变量Scanner变量名=newScanner(System.in);使用变量名.nextInt();publicstaticvoidmain(String[]args){//获取用户键盘录入的信息Scannerscanner=n......
  • ECU刷写流程之压缩刷写技术解析
    背景  在现代汽车电子技术中,ECU(电子控制单元)的软件升级是一项关键任务。为了提高数据传输的效率和安全性,压缩刷写技术应运而生。通过数据压缩传输,我们可以有效地增加带宽利用率,减少刷写工具与ECU之间的数据传输量,从而显著缩短ECU升级时间。此外,为了加强数据的安全性和保密性,......
  • Linux启动流程
    参考链接:https://www.ruanyifeng.com/blog/2013/02/booting.htmlhttps://www.ruanyifeng.com/blog/2013/08/linux_boot_process.htmlhttps://www.runoob.com/linux/linux-system-boot.html第一阶段:计算机启动(硬件启动流程)1.BIOS(BasicInputOutputSystem基本输入输出系统)阶......
  • 开源可视化表单服务商:提升自主研发 助力流程化办公!
    当前,做好流程化办公可以为企业实现提质增效的办公效果,助力企业进入数字化转型。作为开源可视化表单服务商,流辰信息坚持研发创新理念,努力提升自主研发能力,专为广大客户朋友提供集产品、框架定制、产品交付为一体的一站式服务方案。想要实现流程化办公,欢迎随时来了解低代码技术平台......
  • 基于Python实现MapReduce
    一、什么是MapReduce首先,将这个单词分解为Map、Reduce。Map阶段:在这个阶段,输入数据集被分割成小块,并由多个Map任务处理。每个Map任务将输入数据映射为一系列(key,value)对,并生成中间结果。Reduce阶段:在这个阶段,中间结果被重新分组和排序,以便相同key的中间结果被传递到同一个R......
  • shell流程控制
    判断fi[root@VM-12-15-centoshome]#vitest.sh#编写如下a=100b=100iftest$[a]-eq$[b];thenecho"true";fi#执行[root@VM-12-15-centoshome]#shtest.shtrueifelse[root@VM-12-15-centoshome]#vitest.sh#编写如下a=100b=101iftest$[a]......
  • 使用joinjs绘制流程图(八)-实战-绘制流程图+节点路径自定义
    效果图代码<template><divclass="app"><divref="myholder"id="paper"></div></div></template><script>import*asjointfrom'@joint/core'import$from'jque......