Map任务的个数
Mapper数据过大的话,会产生大量的小文件,过多的Mapper创建和初始化都会消耗大量的硬件资源。Mapper数太小,并发度过小,Job执行时间过长,无法充分利用分布式硬件资源。
Mapper数量由什么决定?
- 输入文件数目
- 输入文件的大小
- 配置参数
输入目录中文件数量决定多少个Map会被运行起来,应用针对每一个分片运行一个Map。对于每一个输入的文件会有一个map split。如果输入文件超过了HDFS块的大小(128M)那么对于同一个输入文件会有多余2个的Map运行起来。
涉及参数:
mapreduce.input.fileinputformat.split.minsize //启动map最小的split size大小,默认0
mapreduce.input.fileinputformat.split.maxsize //启动map最大的split size大小,默认256M
dfs.block

MapReduce的任务划分包括Map任务和Reduce任务的数量调整。Map任务过多会消耗硬件资源,太少则影响并发效率。Mapper数量受输入文件数目、大小及配置参数影响,通常基于HDFS块大小进行切片。Reduce任务负责数据聚合,默认数量为1,可通过配置参数或编程方式调整,其任务上限由系统配置决定。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



