MapTask 、ReduceTask 数量的决定因素

简介: MapTask 、ReduceTask 数量的决定因素
  • 1.MapTask 的数量是由切片的个数决定,切片的个数由(1)输入文件的数量、大小 (2)切片规则决定。(参数的大小:minsize 、maxsize、blocksize)

切片大小默认为 block=128M,切片时不针对数据集整体,而是针对每一个文件单独进行切分,计算 spiltsize 大小的公式:

splitSize =  Math.max(minSize, Math.min(maxSize, blockSize));。

 

  • 2.ReduceTask 的数量可以自定义配置,但要考虑业务需求、并且根据集群性能来定,默认数量为 1,conf.setNumReduceTasks (int num)。

image.png

相关文章
|
SQL 分布式计算 Hadoop
Azkaban--使用实战--hive 调度 | 学习笔记
快速学习 Azkaban--使用实战--hive 调度
948 0
Azkaban--使用实战--hive 调度 | 学习笔记
|
存储 分布式计算 算法
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
506 0
|
分布式计算 Hadoop 大数据
MapReduce的详细过程是什么?
【10月更文挑战第9天】MapReduce的详细过程是什么?
668 0
|
数据库
数仓建设:数据域和主题域是什么关系?
数仓建设:数据域和主题域是什么关系?
10136 2
数仓建设:数据域和主题域是什么关系?
|
SQL 存储 HIVE
hive分区与分桶
hive分区与分桶
475 1
|
存储 运维 分布式计算
HDFS 如何容错?
【8月更文挑战第31天】
635 0
|
数据采集 SQL 分布式计算
|
SQL 缓存 分布式计算
手把手教你解决 Hive 的数据倾斜
数据倾斜是 Hive 中影响任务执行效率的现象,表现为某些任务处理的数据量或耗时远超其他任务。根本原因是 Shuffle 后 Key 分布不均,导致部分 Reduce 负载过高。常见场景包括空值聚合、不可拆分大文件、数值膨胀、不同数据类型 Join、Count(distinct) 计算以及表 Join 操作。解决方法包括过滤空值、转换数据类型、调整聚合策略、使用 MapJoin 等。通过合理优化,如设置 `hive.groupby.skewindata` 和 `hive.map.aggr` 参数,可以有效缓解数据倾斜问题。
2215 2
|
SQL 分布式计算 大数据
大数据面试题:Hive count(distinct)有几个reduce,海量数据会有什么问题
count(distinct)只有1个reduce。 为什么只有一个reducer呢,因为使用了distinct和count(full aggreates),这两个函数产生的mr作业只会产生一个reducer,而且哪怕显式指定set mapred.reduce.tasks=100000也是没用的。 当使用count(distinct)处理海量数据(比如达到一亿以上)时,会使得运行速度变得很慢,熟悉mr原理的就明白这时sql跑的慢的原因,因为出现了很严重的数据倾斜。
1081 0
|
SQL OLAP HIVE
HQL的中级题目---炸裂函数、窗口函数
HQL的中级题目---炸裂函数、窗口函数
547 2