欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

切片与MapTask并行度决定机制、FileInputFormat切片机制、ReduceTask并行度

程序员文章站 2022-06-30 11:46:48
...

一、 切片与MapTask并行度决定机制

1.问题引出
MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。 思考:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个MapTask,会提高集群性能吗?MapTask并行任务是否越多越好呢?哪些因素影响了MapTask并行度?
2.MapTask并行度决定机制

数据块:Block是HDFS物理上把数据分成一块一块。
数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。
切片与MapTask并行度决定机制、FileInputFormat切片机制、ReduceTask并行度

二、FileInputFormat切片机制

(1)、切片机制(input.getSplits(job))

切片与MapTask并行度决定机制、FileInputFormat切片机制、ReduceTask并行度

(2)、切片大小参数配置

切片与MapTask并行度决定机制、FileInputFormat切片机制、ReduceTask并行度

三、ReduceTask的并行度

(1)、设置ReduceTask并行度(个数)
ReduceTask的并行度同样影响整个Job的执行并发度和执行效率,但与MapTask的并发数由切片数决定不同,ReduceTask数量的决定是可以直接手动设置:
// 默认值是1,手动设置为4
job.setNumReduceTasks(4);
(2)、注意事项

切片与MapTask并行度决定机制、FileInputFormat切片机制、ReduceTask并行度