Hive查询卡在执行中间

时间:2014-12-08 04:13:24

标签: performance hadoop hive

同事,

我在hive执行带有sql脚本的bash文件时面临一个问题 - 它总是停留在同一个地方map = 100%,reduce = 67%

我尝试使用具有不同变化和其他调整特性的映射器和缩减器编号:

SET hive.exec.parallel=true;
SET hive.default.fileformat=RCFILE;
SET hive.stats.autogather=false;
SET hive.exec.compress.output=true; 
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec; 
SET mapred.output.compression.type=BLOCK;
SET hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;

但结果仍然相同 - 它不断恢复67%的减少进度。

Hive版本 - 0.13.0.2.X.X.X

SQL包含来自多个源的表创建 - 几个表的简单连接。

任何想法如何调整这个?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

Reducer的阶段是:

  • 随机
  • 排序
  • 减少

卡住@ 67%表示Shuffle和Sort已完成,但您的分区都无法在Reduce阶段成功。 Reduce阶段是您的实际Reducer代码。这表示您的代码无法完成。您应该检查代码并查看配置单元日志,以了解无法运行代码的原因。

答案 1 :(得分:0)

因此,发现有几个重复的记录,这就是执行被卡住的原因。