我们如何在hadoop中为每个文件设置块大小?



例如,如果我的输入文件是500MB,我希望每个文件分割250MB,如果我的输入文件是600MB,块大小应该是300MB

如果你正在加载文件到hdfs,你可以用dfs。Blocksize选项,你可以在shell中根据大小来计算参数。

hdfs dfs -D dfs.blocksize=268435456 -put myfile /some/hdfs/location

如果你已经在HDFS中有文件,并且想要改变它的块大小,你需要重写它。

(1)移动文件到TMP位置:

hdfs dfs -mv /some/hdfs/location/myfile /tmp

(2)用-D dfs.blocksize=268435456

复制
hdfs dfs -D dfs.blocksize=268435456 -cp /tmp/myfile /some/hdfs/location