Hive工作永远在减少阶段运行

时间:2016-07-23 12:40:30

标签: hadoop hive cloudera hadoop2 beeline

我正在60 GB dataset in Hive上运行查询。当我触发查询270 mappers将在15分钟内完成,但当涉及到reducer state to complete 0.01%时,它至少需要45分钟到1小时。所以工作就像永远一样。有没有办法解决

1 个答案:

答案 0 :(得分:0)

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

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

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