【问题标题】:Change dfs.block.size on application execution在应用程序执行时更改 dfs.block.size
【发布时间】:2014-06-09 02:00:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    决定每个 MR 的拆分大小的参数可以设置为

    ma​​pred.max.split.size & mapred.min.split.size

    "mapred.max.split.size" 可以通过每个作业单独设置 你的 conf 对象。不要更改影响您的“dfs.block.size” HDFS 也是。这确实会改变您的输出块执行大小。

    如果 ma​​pred.min.split.size 小于块大小并且 mapred.max.split.size 大于块大小,则发送 1 个块 到每个地图任务。块数据被拆分为基于键值对 关于您使用的输入格式。

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 2019-04-08
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 2012-09-16
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多