我有一个包含3个节点和40Mb avro文件的集群。我希望并行化作业以利用多核,因为文件的每一行都是通过相同的长期算法处理的。我读到了NLineInputFormat
,但我想知道是否设置配置
some_conf.set( “mapred.max.split.size”,SOME_VALUE);
会有意义吗?
答案 0 :(得分:1)
是的,你是对的。如果要使用群集处理大小为40 MB(假设块大小为64M)且文件大小超过1的映射器,请将mapred.max.split.size
设置为您使用的值,默认值为Long.MAX_VALUE。 / p>
分割尺寸由公式
计算max(mapred.min.split.size, min(mapred.max.split.size, blocksize))
所以在你的情况下你会得到(假设你将maxsplitsize设置为15MB。
max(1 byte(by default),min(15MB,64MB))
您的分割大小将设置为15MB。