1

我正在运行一个看起来像的猪脚本

<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 什么都不做,而其他 reducer 处理多个组。这背后的想法是什么?

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

4

0 回答 0