我有一个由3个节点和一些40mb avro文件组成的集群。为了利用多核,我想并行化作业,因为文件的每一行都是通过相同的长时间运行的algo处理的。我读到了 NLineInputFormat 但我想知道是否设置配置some\u conf.set(“mapred.max.split.size”,some\u value);有意义吗?
NLineInputFormat
pftdvrlh1#
是的,你是对的。如果您想利用集群处理大小为40 mb(假设块大小为64 mb)的文件,并且其中有多个Map器,那么请设置 mapred.max.split.size 默认情况下为long.max\u值。拆分大小由以下公式计算
mapred.max.split.size
max(mapred.min.split.size, min(mapred.max.split.size, blocksize))
因此,在您的情况下,您将得到(假设您将maxsplitsize设置为15mb)。
max(1 byte(by default),min(15MB,64MB))
您的拆分大小将设置为15mb。
1条答案
按热度按时间pftdvrlh1#
是的,你是对的。如果您想利用集群处理大小为40 mb(假设块大小为64 mb)的文件,并且其中有多个Map器,那么请设置
mapred.max.split.size
默认情况下为long.max\u值。拆分大小由以下公式计算
因此,在您的情况下,您将得到(假设您将maxsplitsize设置为15mb)。
您的拆分大小将设置为15mb。