切片与MapTask并行度决定机制
》1:并行度是什么?
在计算机体系结构中,并行度是指指令或数据并行执行的最大数目。在指令流水中,同时执行多条指令称为指令并行
》2:为什么要提高并行度
可以最大限度地利用计算资源或存储资源。
MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。
注意:并行度不是越大越好
1G的数据,启动8个MapTask,可以提高集群的并发处理能力。
那么1K的数据,也启动8个MapTask,会提高集群性能吗?
MapTask并行任务是否越多越好呢?
哪些因素影响了MapTask并行度?
MapTask并行度决定机制
数据块:Block是HDFS物理上把数据分成一块一块。
数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行
1)一个job的map阶段并行度由客户端在提交job时决定
2)每一个split切片分配一个mapTask并行实例处理
3)默认情况下,切片大小=blocksize
4)切片时不考虑数据集整体,而是逐个针对每一个文件单独切片
注意:设置切片大小设置为100M与128M哪个好?