0

我正在对60 GB dataset in Hive. 当我触发一个查询270 mappers时,将在 15 分钟内完成,但是当涉及到时reducer state to complete 0.01%,它至少需要 45 分钟到 1 小时。所以这项工作一直在运行。有什么办法可以解决

4

1 回答 1

0

为什么不使用组合器和分区器?

  1. 案例
    您可以使用组合器,它是一个迷你减少阶段。
    例如:如果您的映射器生成 100 行数据,并且如果您使用组合器对其执行聚合..它将减少为 1 行和 1 行 * 270(mappers) = 270 行,并将其作为输入提供。

  2. 案例:
    您可以使用分区器根据键(如果唯一)或值(范围内)对数据进行分区,例如如果值 > 20 返回 0;否则返回 1。这样我们将有更多的减速器来处理数据。

于 2018-04-19T11:47:13.320 回答