Hive:使用多插入查询:FAILED:SemanticException不应该发生

时间:2016-08-18 11:17:16

标签: hadoop hive

我正在使用多插入查询进行优化,当然它对我有很大帮助,但每天运行,我可以找到3到4个id(数量超过1000万)在reducer上花费太多时间。为了解决这个问题,我已经实现了skewjoin优化属性,但它正在抛出

"FAILED: SemanticException Should not happened"

我正在使用的属性

set hive.exec.compress.output=true;
set mapreduce.output.fileoutputformat.compress=true;
set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;  
set mapreduce.output.fileoutputformat.compress.type=BLOCK;
SET hive.optimize.skewjoin=true;
set hive.exec.compress.intermediate=true;
set hive.intermediate.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
set hive.intermediate.compression.type=BLOCK;
set hive.optimize.skewjoin=true;
set hive.skewjoin.key=100000;
set hive.skewjoin.mapjoin.map.tasks=10000;
set hive.skewjoin.mapjoin.min.split=33554432;

请建议如何优化这种偏斜数据。(每个新的运行ID都会有所不同)

1 个答案:

答案 0 :(得分:0)

set hive.optimize.skewjoin=true; ---> set hive.optimize.skewjoin=false;