HDFS中参数"mapred.min.split.size"的行为

Ale*_*dre 7 hadoop hdfs

参数"mapred.min.split.size"会更改先前写入文件的块的大小吗?假设我在启动JOB时传递参数"mapred.min.split.size",其值为134217728(128MB).关于会发生什么事情的说法是正确的?

1 - 每个MAP进程相当于2个HDFS块(假设每个块64MB);

2 - 我的输入文件(以前包括HDFS)将有一个新的划分来占用HDFS 128M中的块;

Ank*_*hal 31

分割大小按公式计算: -

max(mapred.min.split.size, min(mapred.max.split.size, dfs.block.size))
Run Code Online (Sandbox Code Playgroud)

在你的情况下,它将是: -

split size=max(128,min(Long.MAX_VALUE(default),64))
Run Code Online (Sandbox Code Playgroud)

以上推断: -

  1. 每个映射将处理2个hdfs块(假设每个块64MB):True

  2. 我的输入文件(以前包括HDFS)将有一个新的分区占用HDFS 128M中的块:False

但是,使最小分割大小大于块大小会增加分割大小,但会以地方为代价.