切片与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物理上把数据分成一块一块。
数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。
二、FileInputFormat切片机制
(1)、切片机制(input.getSplits(job))
(2)、切片大小参数配置
三、ReduceTask的并行度
(1)、设置ReduceTask并行度(个数)
ReduceTask的并行度同样影响整个Job的执行并发度和执行效率,但与MapTask的并发数由切片数决定不同,ReduceTask数量的决定是可以直接手动设置:// 默认值是1,手动设置为4
job.setNumReduceTasks(4);