hadoop之mapreduce.input.fileinputformat.split.minsize引數

hgs19921112發表於2018-10-24
mapreduce.input.fileinputformat.split.minsize(舊版本中為mapred.max.split.size)
	The minimum size chunk that map input should be split into. 
	By increasing this value beyond dfs.blocksize, you can reduce
	 the number of mappers in your job. This is because if say you
	 set the value of mapreduce.input.fileinputformat.split.minsize 
	 to 4x dfs.blocksize, then 4 times the size of blocks will be 
	 sent to a single mapper, thus, reducing the number of mappers 
	 needed to process your input. The value for this property is the 
	 number of bytes for input split. Thus to set the value to 256MB, 
	 you will specify 268435456 as the value for this property.
	 1.該引數只是針對一個大檔案來說的,比如一個大檔案有275M,預設dfs.blockSize=128M
	 那麼該檔案在mapreduce.input.fileinputformat.split.minsize<dfs.blockSize,該引數不會起作用,

	 2.那麼設定mapreduce.input.fileinputformat.split.minsize=4*(dfs.blockSize),之前的6個map會變成
	 一個map如下:

	 3.那麼如果有多個小檔案 例如 words01.log,words02.log,words03.log,words03.log,並且檔案的大小都為幾KB
	 那麼會啟動四個map。

所以說該引數對於眾多的小檔案處理並不起什麼作用只是會針對切分後的大檔案進行splits的合併,降低map數



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2217440/,如需轉載,請註明出處,否則將追究法律責任。

相關文章