当前位置: 首页 > news >正文

hadoop之MapReduce:片和块

假如我现在500M这样的数据,如何存储?
500M = 128M + 128M + 128M + 116M  分为四个块进行存储。
计算的时候,是按照片儿计算的,而不是块儿。
块是物理概念,一个块就是128M ,妥妥的,毋庸置疑。
片是逻辑概念,一个片大约等于一个块。

假如我现在需要计算一个300M的文件,这个时候启动多少个MapTask任务?答案是有多少个片儿,就启动多少个任务。
一个片儿约等于 一个块,但是最大可以 128M*1.1倍= 140.8
300M 
128M  启动一个Map任务进行读取
172M  172M  和   128M * 1.1 =140.8M 进行比较,如果大于 ,继续进行切割
128M  启动一个任务Map任务
剩余44M   剩余的44M 和  128M*1.1倍比较,小于这个值,剩余的44M 就单独起一个Map任务
300m的数据,分给了3个MapTask任务进行处理。

如果是260M的数据,由多少个Map任务处理?
128M   第一个任务
132M   跟 128M * 1.1 进行比较,发现小于这个值,直接一个Map任务搞定,不在启动第三个任务了。

 比如班里的同学一起搬砖,每人规定搬3块,假定砖还剩4块,到某个同学了,他就直接搬完即可,没必要让另一个同学因为一块砖,而专门跑一趟。

 1、什么是片,什么是块?
块是物理概念,片是逻辑概念。一般片 = 块的,但是到最后一次的时候,有可能片> 块,但是绝对不能超过块的1.1倍。
2、mapreduce 启动多少个MapTask任务?
跟片有关系,有多少个片,就启动多少个map任务。跟块儿无关。

http://www.lryc.cn/news/533942.html

相关文章:

  • GitPuk快速安装配置教程(入门级)
  • 在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复。
  • 深入浅出Java数组:从基础到高阶应用
  • 基于 Nginx 的 CDN 基础实现
  • 讲人话的理解ai学习原理
  • Spring boot整合quartz方法
  • 网站改HTTPS方法
  • 数据中台是什么?:架构演进、业务整合、方向演进
  • Java Stream API:高效数据处理的利器引言
  • qml之Text 组件显示当前时间
  • 两栏布局、三栏布局、水平垂直居中
  • Hanoi ( 2022 ICPC Southeastern Europe Regional Contest )
  • Matplotlib基础01( 基本绘图函数/多图布局/图形嵌套/绘图属性)
  • SMU寒假训练第二周周报
  • 解锁全新视界:一键畅享 360 度全景图与多格式转换
  • python:面向对象案例烤鸡翅
  • 游戏外挂原理解析:逆向分析与DLL注入实战(植物大战僵尸
  • 【10.10】队列-设计自助结算系统
  • android的ViewModel和LiveData 简介
  • Linux系统之free命令的基本使用
  • 大模型赋能网络安全整体应用流程概述
  • SpringCloud - Nacos注册/配置中心
  • 面试准备——Java理论高级【笔试,面试的核心重点】
  • AI伴读-清华大学104页《DeepSeek:从入门到精通》
  • unity学习34:角色相关3,触发器trigger,铰链 hingejoint 等 spring joint, fixed joint
  • HarmonyOS Next 方舟字节码文件格式介绍
  • 计算机视觉语义分割——Attention U-Net(Learning Where to Look for the Pancreas)
  • html 列动态布局
  • DeepSeek开源多模态大模型Janus-Pro部署
  • DeepSeek结合Langchain的基本用法