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>
相关推荐
petrel20155 小时前
【Spark】性能与联通性的终极博弈:Spark on K8s 主机网络改造深度实战
大数据·网络·spark·kubernetes·claude code
小哥哥咯5 小时前
数据仓库维度建模思维导图—— 基于《The Data Warehouse Toolkit, 3rd Edition》(第三版修订版)
大数据·数据仓库
Moshow郑锴5 小时前
Spark与Prophecy综合比较&&推荐Prophecy的理由
大数据·分布式·spark
图特摩斯科技5 小时前
本体建模平台 OntoFlow & Palantir Ontology:从“数据实体”到“可执行本体”的企业落地路径
大数据
萤丰信息5 小时前
物联网+AI技术落地:重构园区管理新模式,激活产业发展新动能
大数据·人工智能·科技·物联网·重构·智慧园区
Qzkj6665 小时前
从风险失控到全程可控:高效好用、无故障、先进的金融API安全方案
大数据·安全·金融
2401_865854885 小时前
腾讯云龙虾大模型API配置:一键解锁AI算力,赋能业务高效升级
大数据·人工智能·腾讯云
佳佳ckx666666cky6 小时前
拆解美团UV量提高的底层逻辑:从流量获取到留存的全链路优化
大数据·uv量提高·美团uv量提高·美团uv量·美团uv提高
狒狒热知识6 小时前
2026软文品牌推广行业精准适配:四大核心升级趋势:重构行业服务生态
大数据·人工智能
数说星榆1816 小时前
软件升级全流程步骤详解 在线画图工具绘制流程图教程
大数据·人工智能·架构·流程图