我正在60 GB dataset in Hive
上运行查询。当我触发查询270 mappers
将在15分钟内完成,但当涉及到reducer state to complete 0.01%
时,它至少需要45分钟到1小时。所以工作就像永远一样。有没有办法解决
答案 0 :(得分:0)
为什么不使用合并器和分区器?
案例
您可以使用迷你减少阶段的组合器
对于ex:如果您的映射器生成100行数据,并且如果您使用组合器对其执行聚合...它将减少到一行和1行* 270(映射器)= 270行和作为输入提供。
案例:
您可以使用分区程序根据键(如果唯一)或值(范围内)对数据进行分区,例如值> 20返回0;否则返回1.由此我们将有更多的reducer来处理数据。