MapReduce处理数据流程

2023-05-16

一.mapreduce流程

图片来自:51doit
在这里插入图片描述

  • Inputformat会将切片中每一行的数据表达成kv形式,k是这一行数据的偏移量(longwritable),v是每一行数据内容类型(text)
  • map端会将每一行的数据进行处理,生成若干对kv作为中间结果,经过hashpartition分区后进入环形缓冲区,当环形缓存区满80%后会将数据溢写磁盘(这里会有溢写文件的合并叫做merge)
  • 然后reduce端通过http的形式请求task tracker获取map task输出的文件,reduce端接收到数据后会进行一系列的合并,排序操作然后输出最终结果.

二.shuffle及优化

1.shuffle是在map方法之后,reduce方法之前,混洗的过程.

在这里插入图片描述

三.MR中的三次排序

mr在Map任务和Reduce任务的过程中,一共发生了3次排序

1)当map函数产生输出时,会首先写入内存的环形缓冲区,当达到设定的阀值,在刷写磁盘之前,后台线程会将缓冲区的数据划分成相应的分区。在每个分区中,后台线程按键进行内排序

2)在Map任务完成之前,磁盘上存在多个已经分好区,并排好序的,大小和缓冲区一样的溢写文件,这时溢写文件将被合并成一个已分区且已排序的输出文件。由于溢写文件已经经过第一次排序,所有合并文件只需要再做一次排序即可使输出文件整体有序。

3)在reduce阶段,需要将多个Map任务的输出文件copy到ReduceTask中后合并,由于经过第二次排序,所以合并文件时只需再做一次排序即可使输出文件整体有序

在这3次排序中第一次是内存缓冲区做的内排序,使用的算法使快速排序,第二次排序和第三次排序都是在文件合并阶段发生的,使用的是归并排序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MapReduce处理数据流程 的相关文章

  • HTML_移动端界面

    homework8 移动端界面 注 点击图标放大 点击图片旋转180度 ydd html span class token doctype lt DOCTYPE html gt span span class token tag span
  • Windows11安装与使用初体验

    Windows11安装 因为下载的是美国镜像 xff0c 所以系统语言是英文的 xff0c 但是这么多年的使用 xff0c 还是能够看懂一二的 xff0c 一步步操作就好了呗 xff0c 随缘点击 xff0c 无脑下一步 不知是我没有选择对
  • 基于51单片机的智能窗帘仿真方案原理图设计

    系统总体方案 xff08 附文件 xff09 通过上述对各个模块介绍 xff0c 我们最终选择了采用STC89C52作为的主控芯片 xff0c 采用光敏电阻采集环境光强通过ADC0832转换成数字信息然后由单片机处理得出环境光强的情况 xf
  • 基于RNN-LSTM模型的诗词生成/TensorFlow

    1 研究任务一介绍 1 1 研究任务 给定诗词数据集poems xff0c 采用基于循环神经网络 xff08 RNN xff09 的LSTM模型实现古诗词自动生成 xff0c 调整参数实现五言诗 七言诗 五言藏头诗 七言藏头诗和词的自动生成
  • PX4飞控学习与开发(三)-PX4+ROS开发环境搭建

    PX4开发环境搭建 主要步骤如下 xff1a 第一步 xff0c 设置用户组 在终端输入命令 xff1a sudo usermod a G dialout USER xff0c 然后登出 xff0c 重启 xff1b 第二步 xff0c P
  • PX4飞控学习与开发(五)-Pixhawk固件Firmware源码结构分析

    Pixhawk固件Firmware源码结构分析 Pixhawk源码Firmware是一个内容庞大的文件夹 xff0c 里面有许多的子文夹 xff0c 代表着不同的功能模块 文件夹结构如下图所示 xff1a 图1 Firmware源码结构 图
  • Latex的一些排版技巧

    Latex是科研论文写作的必备工具之一 xff0c 学会一些常用的排版指令有助于快速提高论文的排版质量 本篇博客的主要内容就是总结一些排版技巧 xff0c 方便后续查找使用 当然 xff0c 随着latex排版相关知识的进一步学习和使用 x
  • PX4飞控学习与开发(六)-利用 VScode 修改源码

    努力学习 xff0c 珍惜时间 xff1b 全力以赴 xff0c 创造未来 克制欲望 xff0c 摒除心魔 xff1b 心向何处 xff0c 往来圣贤 功崇惟志 xff0c 业广惟勤 xff1b 惟克果断 xff0c 乃罔后艰 面临困难 x
  • 基于VSCode软件的markdown笔记环境配置

    前期在CSDN上用markdown写了一些博客 xff0c 使用时还是觉得不太方便 xff0c 尤其是在编写公式时 xff0c 效率十分低下 但Markdown本身还是一款非常不错的笔记撰写工具 xff0c 所以一直琢磨着怎么改善其使用体验
  • Ubuntu 主机单系统 安装

    首先是安装系统 xff0c 启动盘是USB HDD模式 xff0c 其他基本和下面这篇文章一样 xff0c 除了安装时候没有Install 然后按e什么的 xff0c 应该是因为我的是20 04吧 史上最全Ubuntu18 04单系统安装教
  • 竞拍算法(Auction Algorithm)原理及工作过程分析

    这几天因一些项目工作 xff0c 需要对竞拍算法进行学习 但百度了大部分资料都未找到一篇文章对此算法有着较为深入的介绍 在一番努力之下 xff0c 终于找到了最初提出该算法的论文 xff0c 本文内容主要结合该论文对竞拍算法进行分析 竞拍算
  • PX4飞控学习与开发(七)-Pixhawk源码中的功能模块分析

    本篇博客主要介绍Firmware固件中各功能模块的基本结构 功能模块的编译 从上篇博客内容中的demo我们可以发现 xff0c 如果我们需要给Pixhawk模块新增一个功能模块 xff0c 一般的做法是新建一个文件夹 xff0c 所有这个功
  • XBee模块实现QGC与PX4飞控的组网通信连接

    本篇博客介绍如何利用XBee模块实现QGC地面站与飞控的通信 一 问题的提出 正如 上一篇博客 指出 xff0c PX4飞控原装数传模块 xff08 3DR Radio xff09 只能一对一通信 xff0c 并不能实现多机组网通信 xff
  • 基于PX4飞控的双机领航-跟踪的理论分析与实验验证

    双机领航 跟踪是最简单的无人机分布式控制 xff0c 是实现大规模集群分布式控制的基础 xff0c 本文主要记录对如何实现双机跟踪护航控制的思考以及验证实验 文章目录 一 理论基础二 仿真实验三 实飞实验 一 理论基础 无人机的位置控制模型
  • MATLAB常用命令及操作

    目录 0 MATLAB注释转到Ubuntu下乱码问题1 矩阵的相关操作2 取整函数3 MATLAB排序4 矩阵构造5 各种线条颜色及形状标记 0 MATLAB注释转到Ubuntu下乱码问题 将文件夹下所有m文件转为UTF 8 xff1a e
  • ubuntu里的QGC编译生成的文件到第二台电脑里运行

    QGC编译生成的文件如下 xff1a 将整个debug文件夹复制过去 xff0c 然后执行以下步骤 xff1a sudo chmod 43 x qgroundcontrol start sh 赋予权限 qgroundcontrol star
  • 2021 SLAM会议论文汇总

    目录 1 ICRA2021语义定位与建图视觉SLAM视觉里程计视觉三维重建视觉惯性里程计跟踪深度估计视觉定位激光雷达定位多传感器数据融合多传感器融合建图激光雷达SLAM激光雷达定位激光雷达建图激光里成计 amp 激光惯性里程计标题点云注册特
  • JavaScript 表单操作以及验证

    大家好 xff0c 我们今天分享一下JavaScript 操作验证表单 首先我们要知道 用JavaScript操作表单和操作DOM是类似的 xff0c 因为表单本身也是DOM树 HTML表单的输入控件 xff08 标签 xff09 主要有以
  • 使用OpenCV查找图像中矩形的位置

    import cv2 image 61 cv2 imread 39 1 jpg 39 blur 61 cv2 pyrMeanShiftFiltering image 11 21 gray 61 cv2 cvtColor blur cv2 C
  • 【GD32F310开发板试用】【001】FreeRTOS移植+“正点原子OLED任务线程”

    首发极术社区 如对兆易创新GD32F310 MCU感兴趣 xff0c 欢迎添加微信 aijishu2020 加入GD32技术讨论群 感谢极术社区提供的SG32F310G测试板 xff0c 尝试移植了一下FreeRTOS顺便点个OLED玩一下

随机推荐

  • apt-get的源

    使用 sudo vim etc apt sources list 修改镜像源 然后执行 sudo apt get update 更新 镜像源如下 xff0c 推荐使用国内源 xff0c 速度更快 镜像源内容转载自 https blog cs
  • Nginx+Keepalived实现站点高可用

    Nginx 43 Keepalived实现站点高可用 发表于 2015 05 18 更新于 2015 05 18 分类于 Linux xff0c Nginx 阅读次数 12301 公司内部 OA 系统要做线上高可用 xff0c 避免单点故障
  • 计算模型的FLOPs

    为了探究影响模型运行时间的变量 xff0c 之前运用了参数量做标准 参数量在TF框架下还是很容易计算的 TF框架下运用 tf span class token punctuation span keras span class token
  • stm32学习之路,方法很重要

    学习stm32已经一个月时间了 xff0c 可算是入门了 相信很多人跟我一样 xff0c 刚开始学的时候会遇到很多问题 xff0c 以及对stm32里面众多寄存器的恐惧 要利用stm32官方给的固件库开发 xff0c 少不了的还是要对寄存器
  • github的使用,及将默认分支main改为master

    一 xff0c 将默认分支main改为master github在2020 10 1宣布上的所有新库都将用中性词 main 命名 xff0c 取代原来的 master xff0c 如果我们通过git push u grigin master
  • module ‘cv2‘ has no attribute ‘aruco‘解决

    pip uninstall opencv python 先卸载 pip install opencv contrib python 使用这个可以解决 opencv contrib python属于加强版 xff0c 除了主模块 xff0c
  • Linux之4G模块串口通信

    在使用AT指令给4G模块发信息的时候 xff0c 我们需要借助到Linux中busybox的microcom工具 xff0c 该工具用来实现与串口之间的通信 xff0c 那怎么自己实现编程跟4G模块发信息 xff0c 以及接收信息把想要的信
  • Jetson Xavier NX配置全过程——系统与SDK烧录(一)

    Jetson Xavier NX配置全过程 系统与SDK烧录 xff08 一 xff09 Jetson Xavier NX配置全过程 安装jtop和OpenCV4 5 3 xff08 二 xff09 Jetson Xavier NX配置全过
  • Jetson Xavier NX配置全过程——D435i和T265驱动安装(三)

    Jetson Xavier NX配置全过程 系统与SDK烧录 xff08 一 xff09 Jetson Xavier NX配置全过程 安装OpenCV4 5 3 xff08 二 xff09 Jetson Xavier NX配置全过程 D43
  • Matlab 在线版 —— 科研人员的福音!无需下载安装,可计算可作图

    在线版 Matlab 科研人员的福音 可计算可作图 xff0c 无需下载安装 Matlab 软件 xff0c 也不需要配置环境 xff0c 直接在浏览器打开即可 xff0c 非常简单方便 不过和 Matlab 软件一样 xff0c 需要注册
  • 树莓派人工智能小车基本操作流程展示

    小车 把老师教我操作记录一下 添加后三行 xff1f gedit span class token operator span span class token operator span span class token punctuat
  • LeetCode刷题 Python实现——常用内置算法和数据结构

    目录 前言 常用内置算法和数据结构 注意 python 递归暴栈 栈溢出 python int 值范围 python 负数位运算的坑 python list 技巧 python dict 技巧 链表题目调试函数 内置库实现优先级队列的三种方
  • putty 报server unexpectedly closed network connection错误

    由于IP变了 xff0c 再用putty访问组内的服务器时 xff0c 竟然总是出错 xff0c 报server unexpectedly closed network connection错误 我公司的服务器是centos7 xff0c
  • Java中关于a=a++结果的解释

    目录 1 问题的提出 xff1a 2 如何对class文件进行反汇编 步骤 xff08 1 xff09 步骤 xff08 2 xff09 步骤 xff08 3 xff09 步骤 xff08 4 xff09 步骤 xff08 5 xff09
  • 无人机机架 无人机机架材料 无人机机架的尺寸计算 无人机机架结构图

    1 机架模块 机架是指多旋翼飞行器的机身架 xff0c 是整个飞行系统的飞行载体 机架就好像人体的骨骼 xff0c 选择好的机架可以增加你在飞行过程中的稳定性 xff0c 让你的飞机飞行更顺畅 机架最重要的一个参数就是其自身的重量 xff0
  • 看了这些书籍,进大厂就不难了是吗?

    嗯 是不是看了这些书籍 xff0c 进大厂就不难了吗 xff1f 哦 我只想说 xff1a 好好学习 xff0c 天天向上 xff01 Head First Java 如果你真的想要好好地学习Java xff0c 你会需要 Head Fir
  • 汽车电子MCU开发之FreeRtos Heap溢出检测

    1 项目背景 项目是基于Nxp Mcu 43 FreeRtos xff0c 成品是车机 xff08 车载导航系统 xff09 xff0c 在消息通信过程中会进入内存分配失败钩子函数里面 2 问题原因 FreeRtos系统的Heap堆不够用
  • RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED【解决方法】

    RuntimeError cuDNN error CUDNN STATUS NOT INITIALIZED 解决方法 在使用github上的开源框架pytorch deeplab xception在自己的数据集上进行语义分割时 xff0c
  • docker03(dockerfile镜像制作)

    文章目录 docker03 dockerfile镜像定制 一 引子二 dockerfile制作镜像步骤 xff08 镜像最多128层 xff09 xff08 一 xff09 dockerfile实例 xff08 二 xff09 docker
  • MapReduce处理数据流程

    一 mapreduce流程 图片来自 51doit Inputformat会将切片中每一行的数据表达成kv形式 k是这一行数据的偏移量 longwritable v是每一行数据内容类型 text map端会将每一行的数据进行处理 生成若干对