Hadoop MapReduce - 单个减速器负载很重

时间:2013-03-03 06:06:33

标签: hadoop mapreduce hadoop-partitioning

我正在运行一个看起来像

的猪脚本
<something>
<something>
B = GROUP A by bucketid PARALLEL 200;
C = FOREACH B {
      sorted = SORT A by field1, field2 ...;
      GENERATE FLATTEN(sorted);
    }
STORE C INTO 'output' USING MultiStorage(output, '8', 'gz');

字段bucketid需要200个不同的值,因此我将PARALLEL设置为200,期望每个reducer将处理一个组。然而,一些减速器什么都不做,而其他减速器则照顾不止一组。这背后的想法是什么?

我面临的真正问题是,一个reducer R落后于其他reducer,任务日志显示merging 13GB of data(并且reducer处于reduce阶段)。但是,根据我的输入数据,我不希望R处理大量数据。 R完成后,由它生成的输出部分文件仅为350 MB(gzip格式),如果我解压缩,则只有6 GB。所以我想知道为什么当reducer运行时日志显示merging 13 GB of data。这背后的任何推理?我错过了什么吗?

0 个答案:

没有答案