2019独角兽企业重金招聘Python工程师标准>>>
1,dfs.blocksize
这个属性决定了一个文件块的大小,hadoop2.2.0默认是128M。一个文件大小是1G的话,会产生8个Map任务,1G/128M=8。
2,mapreduce.input.fileinputformat.split.minsize
如果想减少Map数量,可以启用这个参数,将其设置为256M或者512M或者1204M,对应的map数目就分别是,1G/256M=4,1G/512M=2,1G/1024M=1,亲测过。
注意:如果想让2那个属性生效,某个文件夹下的文件的大小必须大于dfs.blocksize。如果某个文件夹下的文件大小小于dfs.blocksize,2那个属性是不会生效的,而且默认的Map数目是文件的数目,如下会有29个Map任务。