Hadoop3:MapReduce源码解读之Map阶段的数据输入过程整体概览(0)

一、MapReduce中数据流向

二、MapTask并行度

1、原理概览

数据块:BlockHDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。

数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。数据切片是MapReduce程序计算输入数据的单位,一个切片会对应启动一个MapTask

1)一个JobMap阶段并行度由客户端在提交Job时的切片数决定

2)每一个Split切片分配一个MapTask并行实例处理

3)默认情况下,切片大小=BlockSize

4)切片时不考虑数据集整体,而是逐个针对每一个文件单独切片

所以,会开启几个MapTask线程并发处理任务,是由切片数量决定的。
一般,切片大小的设置要与Block大小保持一致。这样性能最优。

2、相关配置

切片大小的配置
mapred-default.xml
最小切片大小配置

默认0,如果配置0,则代码层面分配是1

xml 复制代码
<property>
  <name>mapreduce.input.fileinputformat.split.minsize</name>
  <value>0</value>
  <description>The minimum size chunk that map input should be split
  into.  Note that some file formats may have minimum split sizes that
  take priority over this setting.</description>
</property>


最大切片大小配置

默认不配置,所以代码获取不到,代码给予Long.MAX_VALUE
mapreduce.input.fileinputformat.split.maxsize


BlockSize的配置
hdfs-default.xml

xml 复制代码
<property>
  <name>dfs.blocksize</name>
  <value>134217728</value>
  <description>
      The default block size for new files, in bytes.
      You can use the following suffix (case insensitive):
      k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) to specify the size (such as 128k, 512m, 1g, etc.),
      Or provide complete size in bytes (such as 134217728 for 128 MB).
  </description>
</property>
相关推荐
瑞华丽PLM17 分钟前
通用与专业PLM选型对比 (1)
大数据·人工智能·plm·瑞华丽plm·瑞华丽
低调小一1 小时前
OpenClaw 从安装到可用:把 Tools/Skills 变成“可控操控面板”,并用飞书做远程入口
java·大数据·人工智能·飞书·openclaw·clawbot·skil
八月瓜科技1 小时前
擎策·知海全球专利数据库 凭差异化优势 筑科技创新检索壁垒
大数据·数据库·人工智能·科技·深度学习·机器人
职豚求职小程序1 小时前
东软集团题库笔试测评系统练习笔试2026新版
大数据·汇编·人工智能
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-03-12
大数据·数据库·人工智能·经验分享·搜索引擎
几分醉意.2 小时前
先发制人:用 Bright Data 抢先捕捉 TikTok 爆款内容(附实战案例)
java·大数据·人工智能
袋鼠云数栈3 小时前
能源矿产行业 Data + AI 数智化全景解决方案——构建集团级智慧运营生产体系的系统路径
大数据·人工智能·能源·数据治理
双层吉士憨包3 小时前
Google Voice保号教程
大数据·服务器·人工智能
Web3VentureView3 小时前
Web4的入口,即将打开 | SYNBO CLUB移动端亟待上线
大数据·人工智能·区块链·媒体·加密货币
A-刘晨阳3 小时前
工业物联网时代时序数据库选型指南:从大数据架构视角深度解析Apache IoTDB
大数据·物联网·时序数据库·iotdb