简体   繁体   English

配置单元查询卡在执行中间

[英]Hive query getting stuck in the middle of execution

Colleagues, 同事,

I'm facing with an issue while execution of bash file with sql script in hive - it always stuck at the same place map=100%, reduce=67% 我在蜂巢中使用sql脚本执行bash文件时遇到一个问题-它始终卡在同一位置map = 100%,reduce = 67%

I tried to play with mappers and reducers number with different variations and other tunning characteristics: 我尝试使用具有不同变体和其他调整特性的映射器和归约器数量:

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;

But result still the same - it continuously return 67% of reducing progress. 但是结果仍然相同-它不断返回减少进度的67%。

Hive version - 0.13.0.2.XXX 蜂巢版本-0.13.0.2.XXX

SQL contains table creation from several source - simple join of several tables. SQL包含来自多个来源的表创建-多个表的简单连接。

Any ideas how to tune this? 任何想法如何调整?

Any help will be appreciated. 任何帮助将不胜感激。

The phases of a Reducer are: 减速器的阶段包括:

  • Shuffle 随机播放
  • Sort 分类
  • Reduce 降低

Getting stuck @ 67% indicates that the Shuffle and Sort have completed but none of your partitions are able to succeed in the Reduce phase. 如果卡住率为67%,则表示“随机播放”和“排序”已完成,但您的所有分区都无法在“还原”阶段成功。 The Reduce phase is your actual Reducer code. Reduce阶段是您的实际Reducer代码。 This indicates your code is unable to complete. 这表明您的代码无法完成。 You should examine your code and also look at the hive logs to see why your code is unable to be run. 您应该检查您的代码,并查看配置单元日志,以查看为什么您的代码无法运行。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM