2016-08-18 93 views
0

我使用多插入查詢來優化目的,它肯定會幫助我很多,但是每天運行,我可以找到3到4個id 10萬)花費太多時間在減速機上。要解決這個問題我已經skewjoin優化特性實現的,但它拋出裏面我是用Hive:使用多插入查詢:失敗:SemanticException不應該發生

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; 

請建議我如何能優化這個偏斜數據

"FAILED: SemanticException Should not happened" 

屬性。(每個新運行ID的會有所不同)

回答

0
set hive.optimize.skewjoin=true; ---> set hive.optimize.skewjoin=false; 
+1

請問您可以給答案補充一些解釋。 – Tushar

+0

歡迎來到Stack Overflow!雖然這段代碼可能會回答這個問題,但最好包含關於問題的描述,以及代碼如何解決給定問題。對於將來,這裏是一些信息,[如何破解一個真棒回答](http://stackoverflow.com/help/how-to-answer)在堆棧溢出。 – dirtydanee