hadoop并行任务与一个小文件

时间:2015-09-16 22:37:01

标签: hadoop split mapreduce avro

我有一个包含3个节点和40Mb avro文件的集群。我希望并行化作业以利用多核,因为文件的每一行都是通过相同的长期算法处理的。我读到了NLineInputFormat,但我想知道是否设置配置

some_conf.set( “mapred.max.split.size”,SOME_VALUE);

会有意义吗?

1 个答案:

答案 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。