在应用程序执行时更改dfs.block.size

时间:2014-06-01 17:17:01

标签: hadoop hdfs

由于dfs.block.size是一个HDFS设置,如果我在应用程序执行期间更改它,它应该没有区别,对吧? 例如,如果作业文件的块大小为128,则调用

hadoop jar /path/to/.jar xxx -D dfs.block.size=256

它会有所作为或者我需要在将文件保存到HDFS之前更改块大小吗? dfs.block.size与任务的拆分大小直接相关吗?如果我是正确的而他们不是,有没有办法指定分割的大小?

1 个答案:

答案 0 :(得分:0)

  

可以通过

设置决定每个MR的分割大小的参数      

mapred.max.split.size& mapred.min.split.size

     

" mapred.max.split.size" ,可以通过单独的工作单独设置   你的conf对象。不要改变" dfs.block.size"这会影响你的   HDFS也是。它确实改变了输出块的执行大小。

     

如果 mapred.min.split.size 小于块大小并且   mapred.max.split.size大于块大小,然后发送1个块   到每个地图任务。块数据被分成基于键值对   在您使用的输入格式上。